0

我使用此代码下载 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);
?>
4

2 回答 2

0

替换systemecho显示生成的命令,并在命令行上手动执行。错误通常显示在 STDERR 上,它不会被system调用捕获,如果你得到一个空输出,这意味着它不能输出任何东西。修复错误,然后修复您的代码。我也会使用passthru而不是system.

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

mysql -u<user> -p <database> < myfile.sql
于 2013-05-08T08:26:28.150 回答
-1

您的变量坚持选项。尝试改变这一点:

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

对此:

$command = "mysqldump -h $hostname -u $username -p $password $dbname > $backupFile";
于 2013-05-08T08:25:35.240 回答