Документация MySQL о CHECKSUM TABLE очень минималистична.
Мой вопрос: является ли CHECKSUM TABLE хорошим способом проверки синхронизации подчиненной таблицы MySQL с главной? Другими словами: могу ли я использовать контрольные суммы, чтобы проверить, что подчиненная таблица равна главной таблице?
Я не могу использовать индикатор Seconds_Behind_Master из-за изменений, внесенных только в ведомую таблицу.
ТАБЛИЦА КОНТРОЛЬНЫХ СУММ - хороший способ. Вместо того, чтобы запускать его напрямую, взгляните на pt-table-контрольная сумма.
Как только вы убедитесь, что он синхронизирован, вы должны сделать ведомый только чтение так что вы не могу изменить его таблицы.
Обычно считается хорошей (лучшей?) Практикой делать вторичные серверы только для чтения, чтобы помочь предотвратить то, что вы пытаетесь обнаружить.
set global read_only =1;
или
read_only=1
в файле my.cnf. Это не мешает пользователям с привилегиями SUPER вносить изменения, поэтому вы также должны удалить их из учетных записей, которым они не нужны.
UPDATE mysql.user SET super_priv='N' WHERE user<>'root';
FLUSH PRIVILEGES;
Затем используйте непривилегированные учетные записи для работы с базами данных и корневую учетную запись только тогда, когда вам нужно СУПЕР Привилегия.