MysqlDump返回空数据库备份文件

时间:2013-05-08 08:22:11

标签: php

我使用此代码下载MySql数据库的备份,但它下载了一个空文件。 还请指导恢复此备份。

<?php
//connect to database
include'connect.php';
$backupFile = $dbname . date("Y-m-d-H-i-s") . '.sql';
$command = "mysqldump -h$hostname -u$username -p$password $dbname > $backupFile";
system($command);
?>

2 个答案:

答案 0 :(得分:0)

system替换为echo以显示生成的命令,并在命令行上手动执行。错误通常显示在STDERR上,system调用不会捕获错误,如果输出空,则表示无法输出任何内容。修复错误,然后修复代码。我还使用passthru代替system

要在之后使用(从命令行)恢复备份:

mysql -u<user> -p <database> < myfile.sql

答案 1 :(得分:-1)

您的变量坚持选项。试着改变这个:

$command = "mysqldump -h$hostname -u$username -p$password $dbname > $backupFile";

对此:

$command = "mysqldump -h $hostname -u $username -p $password $dbname > $backupFile";