Проверьте, синхронизирована ли репликация MySQL

Документация MySQL о CHECKSUM TABLE очень минималистична.

Мой вопрос: Является ли CHECKSUM TABLE хорошим способом проверки, синхронизирована ли ведомая таблица MySQL с ведущим? Другими словами: я могу использовать контрольные суммы, чтобы проверить, что ведомая таблица равна главной таблице?

Я не могу использовать индикатор Seconds_Behind_Master из-за изменений, внесенных только в ведомую таблицу.

2 ответа

Решение

CHECKSUM TABLE - это хороший способ. Вместо непосредственного запуска взгляните на pt-table-checkum.

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

Обычно считается хорошей (лучшей?) Практикой делать вторичные серверы доступными только для чтения, чтобы помочь предотвратить то, что вы пытаетесь обнаружить.

set global read_only =1; 

или же

read_only=1

в файле my.cnf. Это не мешает пользователям с привилегией SUPER вносить изменения, хотя вы должны также удалить это из учетных записей, которые не нуждаются в этом.

UPDATE mysql.user SET super_priv='N' WHERE user<>'root';
FLUSH PRIVILEGES;

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

Другие вопросы по тегам