Назад | Перейти на главную страницу

Как загрузить базу данных с внешними ключами на мастер без нарушения репликации?

У меня есть установка MySQL master-slave. Один мастер; Один раб; Множество баз данных.

Я перемещаю в эту настройку приложение от стороннего производителя. Они предоставили файл mysqldump с данными и структурой базы данных. Он содержит единую базу данных с таблицами innodb.

Файл дампа отлично загружается на мастере. Но во время репликации на подчиненное устройство оно зависает из-за ошибки внешнего ключа.

Похоже, что ведомое устройство игнорирует «проверки внешнего ключа» в mysqldump.

Как загрузить эту штуку без нарушения репликации?

Обычно, когда вы загружаете дамп с помощью mysql, вы отключаете проверки внешнего ключа, а затем снова включаете их, на самом деле это может быть сделано по умолчанию. Вам просто нужно сделать то же самое на ведомом устройстве на время репликации.

Это руководство по импорту и экспорту:
http://technocation.org/files/doc/2010_06_BulkLoad.pdf

Отключение внешних ключей:
http://gauravsohoni.wordpress.com/2009/03/09/mysql-disable-foreign-key-checks-or-constraints/