system ('mysqldump -u myUser myDbname | mysql -u myUser -A myDbBackupName');
这不会返回错误,但不执行任何操作。 通过命令行在服务器中执行的相同命令完美地工作。 我正在使用.my.cnf,我将用户配置为mysql,mysqldump和client。 我不知道发生了什么。有人可以帮帮我吗?
答案 0 :(得分:0)
我解决了这个问题。将2>& 1放在命令的末尾,强制返回方法exec()或system()的输出,以便于调试。
正确的mysql命令在-p [密码]之间没有空格。事实上,如果你使用档案.my.cnf
,密码是必要的,独立的像这样:
mysqldump -u user -ppassword myDbName | mysql -u user -ppassword myDbBackupName