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

повторное включение таблицы для репликации mysql

Нам удалось настроить репликацию mysql master-slave со следующей версией как на master / slave:

mysqld Ver 5.5.28-29.1-log для Linux на x86_64 (Percona Server (GPL), выпуск 29.1)

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

Как лучше всего снова включить репликацию для 4 таблиц?

Это то, что я имел в виду, но не знаю, сработает ли это:

1) Измените конфигурацию ведомого устройства, чтобы снова включить репликацию для 4 таблиц.

2) остановить репликацию ведомого

3) для каждой из 4 таблиц используйте pt-table-sync --execute --verbose --print --sync-to-master h = localhost, D = mydb, t = mytable

4) перезапустите подчиненную базу данных, чтобы перезагрузить конфигурацию репликации

5) запустить репликацию ведомого

На мой взгляд, самый чистый способ сделать это -

  1. Выгрузите 4 таблицы из главной и восстановите эти дампы в подчиненные таблицы
  2. измените конфигурацию подчиненного устройства, чтобы снова включить репликацию для этих таблиц
  3. перезапустить подчиненную базу данных

Таким образом, вы можете быть уверены, что 4 таблицы на главном и подчиненном устройствах совпадают.

То, что вы имеете в виду, вероятно, тоже должно сработать, по крайней мере, если вы доверяете инструментарию percona :)