简单的python代码上的mysqldump错误

时间:2014-10-13 10:07:58

标签: python mysql python-2.7 mysqldump

我运行以下简单的python 2.7代码;

   dumpcmd = "mysqldump -u " + DB_USER + " -p" + DB_USER_PASSWORD + " " + db + " > " + TODAYBACKUPPATH + "/" + db + ".sql"
   os.system(dumpcmd)

我得到的错误如下;

mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an er
ror in your SQL syntax; check the manual that corresponds to your MySQL server v
ersion for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line
 1 (1064)

奇怪的是,我的python代码中没有包含错误中提到的SET OPTION SQL_QUOTE_SHOW_CREATE=1之类的内容。有人可以建议吗?

3 个答案:

答案 0 :(得分:1)

这似乎发生了,因为您使用的是mysqldump 5.5或之前的MySQL 5.6数据库。删除了SET OPTION语法(请参阅this bug report中的讨论),导致此工具停止工作。

您需要更新mysqldump的版本。有关它的更多信息,请参见this other bug report

答案 1 :(得分:0)

您可能需要-pDB_USER_PASSWORD之间的空格。

dumpcmd = "mysqldump -u " + DB_USER + " -p " + DB_USER_PASSWORD + " " + db + " > " + TODAYBACKUPPATH + "/" + db + ".sql"

答案 2 :(得分:0)

感谢javidcf的回答,我找到了问题的答案。解决方案是使用支持MySQL 5.6的命令行mysqldump版本。

相关问题