Выполните mysqldump для резервного копирования базы данных в формате sql

Я пытаюсь использовать PHP exec() функция для запуска mysqldump создать резервную копию базы данных с именем projectdata от Amazon Web Service, Но я могу только создать пустой файл sql.

Я запускаю файл php с xampp, под Windows 7, где mysqldump находится в C: \ xampp \ mysql \ mysqldump

exec('C:\xampp\mysql\bin\mysqldump --user=user --password=password --host=cannotTellyou.amazonaws.com:3306 projectdata  > backup.sql');

2

Решение

Что вы должны сделать, это: сделать ssh вход на ваш компьютер AWS. Запустите mysqldump в командной строке и начните отладку оттуда.

ssh <your remote AWS using your private_key>

затем беги

mysqldump -u <username> -p<password> yourDB | gzip > backupfilename.sql.tar.gz

используйте gzip, если вы хотите заархивировать ваш файл резервной копии, иначе это не нужно.

Тогда обратитесь к этому сообщению:
как mysqldump удаленного БД с локальной машины

0

Другие решения

Я бы попытался явно указать имя файла вместо перенаправления вывода. Как это:

exec('C:\xampp\mysql\mysqldump --user=user --password=password --host=cannotTellyou.amazonaws.com:3306 projectdata -r backup.sql');

-r Опция должна использоваться также потому, что:

Прямой вывод в данный файл. Эта опция должна использоваться в MSDOS, потому что она предотвращает преобразование новой строки ‘\ n’ в ‘\ r \ n’ (возврат каретки + перевод строки).

0

Работает после удаления номера порта

C:\xampp\mysql\bin\mysqldump --user=user --password=password --host=cannotTellyou.amazonaws.com projectdata  > backup.sql
0
По вопросам рекламы [email protected]