执行mysqldump以sql格式备份数据库

时间:2015-05-29 05:59:18

标签: php mysql amazon-web-services mysqldump

我尝试使用PHP的exec()函数运行mysqldump来备份projectdata中名为Amazon Web Service的数据库。但我只能创建一个空的sql文件。

我用xampp运行php文件,在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');

3 个答案:

答案 0 :(得分:0)

您应该做的是:对您的AWS计算机执行ssh登录。在命令行中运行mysqldump并从那里开始调试。

ssh <your remote AWS using your private_key>

然后运行

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

如果你想压缩备份文件,请使用gzip,否则,没有必要。

然后参考这篇文章: how to mysqldump remote db from local machine

答案 1 :(得分:0)

我会尝试显式指定文件名而不是重定向输出。像这样:

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

还应该使用-r选项,因为:

  

直接输出到给定文件。此选项应在MSDOS中使用,因为它会阻止新行'\ n'转换为'\ r \ n'(回车+换行符)。

答案 2 :(得分:0)

删除端口号

后有效
C:\xampp\mysql\bin\mysqldump --user=user --password=password --host=cannotTellyou.amazonaws.com projectdata  > backup.sql