使用 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')
$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')