如何在不中断复制的情况下在主服务器上加载带有外键的数据库?

如何在不中断复制的情况下在主服务器上加载带有外键的数据库?

我有一个 MySQL 主从设置。一个主服务器;一个从服务器;许多数据库。

我正在将第三方的一个应用程序移到此设置中。他们提供了数据和数据库结构的 mysqldump 文件。它包含一个带有 innodb 表的数据库。

转储文件在主服务器上加载正常。但在复制到从服务器上时,从服务器因外键错误而挂起。

看起来从属服务器忽略了 mysqldump 中的“设置外键检查”。

我该如何加载这个东西而不破坏复制?

答案1

通常,当您执行 mysql 转储加载时,您会禁用外键检查,然后重新启用它们,实际上它可能默认这样做。您只需要在复制期间在从属服务器上执行相同的操作即可。

这是进出口指南:
http://technocation.org/files/doc/2010_06_BulkLoad.pdf

禁用外键:
http://gauravsohoni.wordpress.com/2009/03/09/mysql-disable-foreign-key-checks-or-constraints/

相关内容