使用 PHP 备份数据库 - mysqldump

Backup database with PHP - mysqldump

$backupFile = $dbname . date("Y-m-d-H-i-s") . '.gz';
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile";
system($command);

我的备份文件最终变成了一个空的零字节文件。

我的身份验证和连接详细信息是正确的。

我启用了错误报告 - 没有错误。

服务器是 运行 PHP 5.6.

根据 mysqldump 文档,您不应将 space 放在 -p 和密码之间:

· --password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the --password or -p option on the command line, mysqldump prompts for one.

从 PHP 调用 mysqldump 时,您可能需要编写 可执行文件的完整路径 (即:'/usr/local/mysql-5.1.52- osx10.6-x86_64/bin/mysqldump' 而不是 'mysqldump')