19.5.5 Как сообщать об ошибках или проблемах репликации
Когда вы убедились, что ошибка не связана с действиями пользователя, а репликация всё ещё не работает или работает нестабильно, пора отправить нам сообщение об ошибке. Нам необходимо получить как можно больше информации от вас, чтобы отследить ошибку. Пожалуйста, уделите время и усилия подготовке хорошего отчета об ошибке.
Если у вас есть воспроизводимый тест-кейс, демонстрирующий ошибку, пожалуйста, внесите его в нашу базу данных ошибок, используя инструкции, приведенные в разделе 1.6, «Как сообщать об ошибках или проблемах». Если у вас проблема “фантомная” (которую вы не можете воспроизвести намеренно), используйте следующую процедуру:
Убедитесь, что ошибка не связана с ошибками пользователя. Например, если вы обновляете реплику вне потоков репликации, данные становятся асинхронными, и у вас могут возникнуть нарушения уникальности ключей при обновлениях. В этом случае поток репликации останавливается и ждёт, пока вы вручную очистите таблицы, чтобы привести их в синхронизацию. Это не проблема репликации. Это проблема внешнего вмешательства, вызвавшего сбой репликации.
Убедитесь, что реплика работает с включённым бинарным протоколированием (переменная системы
log_bin), и с включённым параметром--log-replica-updates, который заставляет реплику протоколировать обновления, полученные от источника, в своих собственных бинарных логах. Эти настройки являются значениями по умолчанию.-
Сохраните все доказательства перед сбросом состояния репликации. Если у нас нет информации или только отрывочные сведения, отследить проблему становится трудно или невозможно. Данные, которые вы должны собрать, это:
Все файлы бинарных логов из источника
Все файлы бинарных логов из реплики
Вывод команды
SHOW BINARY LOG STATUSиз источника в момент обнаружения проблемыВывод команды
SHOW REPLICA STATUSиз реплики в момент обнаружения проблемыЛоги ошибок из источника и реплики
-
Используйте mysqlbinlog для проверки бинарных логов. Следующее должно помочь в выявлении проблемы.
log_fileиlog_posявляются значениямиMaster_Log_FileиRead_Master_Log_Posсоответственно изSHOW REPLICA STATUS.$>
mysqlbinlog --start-position=log_poslog_file| head
После того, как вы собрали доказательства проблемы, попытайтесь изолировать её как отдельный тест-кейс. Затем внесите проблему с как можно большей информацией в нашу базу данных ошибок, используя инструкции в разделе 1.6, «Как сообщать об ошибках или проблемах».
© 2025 Oracle
Licensed under the GPLv2 License.