mysqldbexport不排除表 - “变量'foreign_key_checks'是一个SESSION变量”

时间:2017-06-02 11:12:06

标签: mysql database-backups

我正在尝试从ISAM mysql数据库迁移到InnoDB mysql数据库(数百万条记录/行中的10条)。所以,我正在尝试使用mysqldbexport只导出表中的数据,这样我们就不需要在导出后调整sql文件了。我正在尝试使用以下命令,它实际上并不排除所需的表。

mysqldbexport --server = username:password @ localhost db_name --export = data --bulk-insert --exclude = db_name.table_name --output-file = full_db_name_export.sql

最初是从版本开始的:

  

MySQL Utilities mysqldbexport 1.5.6版

这无法排除表格。它也无法完成导出,可能是由于资源(内存)限制。

然后我更新到:

  

MySQL Utilities mysqldbexport版本1.6.5

我现在收到错误:

  

localhost上的来源:...已连接。错误:查询失败。 1238(HY000):变量'foreign_key_checks'是SESSION变量

我尝试过使用命令SET GLOBAL FOREIGN_KEY_CHECKS = 0;在mysql命令行上它只是抱怨说它是一个SESSION变量。

任何人都可以帮助修复第一个版本不排除的问题,或者帮我解决第二个版本的问题?或者更好的是,给我一个有效的“lmgtfy”链接:)

1 个答案:

答案 0 :(得分:0)

我也使用mysqldbcopy得到了这个错误,你可以通过两种方式解决它:
1.升级目标MySQL到支持语法的更高版本 - SET GLOBAL FOREIGN_KEY_CHECKS=0
2.在源文件destination.disable_foreign_key_checks(True)

中找出此行.../site-packages/mysql/utilities/command/dbexport.py