我运行以下简单的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
之类的内容。有人可以建议吗?
答案 0 :(得分:1)
这似乎发生了,因为您使用的是mysqldump
5.5或之前的MySQL 5.6数据库。删除了SET OPTION
语法(请参阅this bug report中的讨论),导致此工具停止工作。
您需要更新mysqldump
的版本。有关它的更多信息,请参见this other bug report。
答案 1 :(得分:0)
您可能需要-p
和DB_USER_PASSWORD
之间的空格。
dumpcmd = "mysqldump -u " + DB_USER + " -p " + DB_USER_PASSWORD + " " + db + " > " + TODAYBACKUPPATH + "/" + db + ".sql"
答案 2 :(得分:0)
感谢javidcf的回答,我找到了问题的答案。解决方案是使用支持MySQL 5.6的命令行mysqldump版本。