尝试使用mysqldump命令时为什么会出现此错误?

时间:2012-02-01 12:20:33

标签: php mysql mysqldump

我想备份并在数据库上回滚备份,我正试图查看错误:

  

'mysqldump'未被识别为内部或外部命令,可操作程序或批处理文件。

以上是我在导出的文件中获得的内容。这就是我的目的:

$database = 'logindb';

$backup = $location.'/'.$database.'_backup_'.date('Y').'_'.date('m').'_'.date('d').'.sql';

exec("mysqldump --opt -h localhost -u root logindb > $backup 2>&1", $output);
print_r($output);

由于$location是我的备份文件夹。那么为什么我会收到这个错误?

作为附加信息,我正在使用XAAMP测试localhost,Apache服务器正在运行,而MySQL正在运行。

2 个答案:

答案 0 :(得分:2)

因为mysqldump不在httpd用户路径中。

我认为您在Linux(或UNIX)中工作。

要知道女巫目录包含mysqldump,您可以执行whereis mysqldump

然后你有两个选择:

  • 检查mysqldump目录是否在httpd用户的PATH环境变量中(usualy www-data用户为apache服务器)。如果不存在,请将其包含在PATH中。

  • 您也可以使用完整路径执行mysqldump

像这样:

exec("/path_to_mysql_bins/mysqldump ...

答案 1 :(得分:0)

该错误不是mysqldump错误,它是一个Windows错误,表示它不理解mysqldump与之相关的内容。要解决此问题,您可以将mysqldump可执行文件的路径包含到environment variables中,或者运行带有mysqldump可执行文件的完整路径的exec命令(可以在XAMPP mysql文件夹中找到)。

相关问题