MySqlDump - 使用Windows创建空白转储

4

尝试使用mysqldump exe获取本地转储。在MAC_OS上运行良好。但是在Windows上,我得到了一个退出码1和一个本地空的.sql文件。

我使用了以下代码:

$command = ''.$locationDumpExe.' --user='.$dbuser.' --password='.$dbpassword.' --no-data --host=localhost  '.$dbname.' > '.$dumpfile.'';

exec($command,$output,$return_var);

变量已设置如下:

  • $locationDumpExe = "/xampp/mysql/bin";
  • $dbuser = "root";
  • $dbpassword = "";
  • $dbname = "test_db";
  • $dumpfile = "testdump.sql"

返回值为1

test_db 数据库包含90-100张表格,约有50-100条数据。也许这是问题的原因?

我在 Mac_OS 上测试成功,但出于某些原因,我还需要在 Windows 上使用导出功能。

提前感谢您的帮助。


1
将命令进行回显并在命令行上尝试运行它。 - aynber
相同的结果,谢谢尝试。 - Jonathan Stellwag
如果你在将命令粘贴到命令行时删除管道符号“> testdump.sql”,它是否会给你任何消息? - aynber
谢谢你的帮助,但是给出绝对路径对我来说很有效。也许我在回显命令时也出了一些问题 :)。 - Jonathan Stellwag
1个回答

3
当您尝试使用Windows时,需要指定mysqldump.exe的完整路径。
C:/wamp/bin/mysql/mysql5.6.17/bin/mysqldump.exe -h {hostname} -u {usernamne} -p{password} {dbName} > path/to/store/sql/file.

希望这能帮到您。谢谢。 Suman W.

最终我解决了这个问题。你的解决方案是正确的。 :) 我把 $locationDumpExe 改成了 'c:/xampp/mysql/bin/mysqldump.exe',现在可以正常工作了。 - Jonathan Stellwag
1
更多信息:在找到正确路径后,我得到了退出代码:2 -> 如果您没有正确的权限,这主要会出现-> 因此,我不得不查看哪个用户名和密码具有正确的权限。- 只是作为进一步的信息,如果有人也浏览了这个 :) - Jonathan Stellwag

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接