我尝试使用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');
答案 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,否则,没有必要。
答案 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