mysqldump php命令easyphp

时间:2013-05-28 20:43:33

标签: php mysqldump easyphp

当我从cmd框中运行以下命令时,它工作正常;使用我的数据库数据创建文件:

"\Program Files\EasyPHP-5.3.8.1\mysql\bin\mysqldump" -u root -p databasename > D:\path\dumpedfile.sql

但是当我从php脚本运行这个时,它会生成文件,但它是空的:

shell_exec('"\Program Files\EasyPHP-5.3.8.1\mysql\bin\mysqldump" -u root -p databasename > D:\path\dumpedfile.sql');

(注意:我没有设置密码)

我做错了什么?

请帮忙 感谢

2 个答案:

答案 0 :(得分:0)

如果您的用户帐户中没有任何密码,则应尝试不使用-p参数。

shell_exec('"\Program Files\EasyPHP-5.3.8.1\mysql\bin\mysqldump" -u root databasename > dumpedfile.sql');

答案 1 :(得分:0)

尝试这样的事情:

<?php
 $User = "root";
 $Password = "mypass";
 $DatabaseName = "bcms6"
 $File = "mydump.sql";
 shell_exec("fullpath\mysqldump --allow-keywords --opt -u $User -p $Password $DatabaseName > $File");
 //Or this way
 shell_exec('"C:\Program Files (x86)\EasyPHP-5.3.9\mysql\bin\mysqldump.exe" -u root -p database > database_dump.sql'); //second way with full path.
?>

您也可以尝试这种方式:

$command = 'mysqldump -u root -ppassword database > /path/database.sql';
system($command, $output);

if($output != 0) {
  echo 'Error during backup';
else {
 echo 'Database dumped';

}

EDITED .. 密码必须是硬编码的。