mysqldump的中继返回码的
题
我试图通过PHP做一个MySQL转储。
这是代码
$backupFile = $table. "-". date("Y-m-d-H:i:s") . '.gz';
//Command nog aanpassen....
$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile";
//$status = system($command);
echo $backupFile ."<br>";
$status = passthru($command, $a);
echo "output:" . $a;
这是一个$ = 2的价值,但我无法找到这意味着什么。我也无法找到备份文件的任何地方。
任何想法的?
解决方案
我不知道这是一个问题,但它看起来像你的密码传递参数不正确。
如果你使用需要-p有密码就在旁边,没有空格,就像这样:
$command = "mysqldump --opt -h $dbhost -u $dbuser -p$dbpass $dbname | gzip > $backupFile";
或者使用长--password = $ DBPASS。
例如:
$command = "mysqldump --opt -h $dbhost -u $dbuser --password=$dbpass $dbname | gzip > $backupFile";
从mysqldump的手册页:
- 密码[=密码],-P [口令]
的密码连接到服务器时使用。如果使用短选项形式(-p),不能在选项和密码之间有一个空格。如果省略以下的命令行上--password或-p选项的密码值,则提示输入一个。
其他提示
也可能是您的备份的目的地。请确保您正在运行的mysqldump为(你的情况可能WWW的数据,或其他一些Apache用户)用户有写权限到您正在试图写入备份的目录。很多时候,我会尝试在命令行命令..看看它做工精细..但我的根,还是我的用户..不www数据。
不隶属于 StackOverflow