Spec-Zone.ru › MySQL 9.2

19.5.5 Как сообщать об ошибках или проблемах репликации

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

Если у вас есть воспроизводимый тест-кейс, демонстрирующий ошибку, пожалуйста, внесите его в нашу базу данных ошибок, используя инструкции, приведенные в разделе 1.6, «Как сообщать об ошибках или проблемах». Если у вас проблема “фантомная” (которую вы не можете воспроизвести намеренно), используйте следующую процедуру:

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

  2. Убедитесь, что реплика работает с включённым бинарным протоколированием (переменная системы log_bin), и с включённым параметром --log-replica-updates, который заставляет реплику протоколировать обновления, полученные от источника, в своих собственных бинарных логах. Эти настройки являются значениями по умолчанию.

  3. Сохраните все доказательства перед сбросом состояния репликации. Если у нас нет информации или только отрывочные сведения, отследить проблему становится трудно или невозможно. Данные, которые вы должны собрать, это:

    • Все файлы бинарных логов из источника

    • Все файлы бинарных логов из реплики

    • Вывод команды SHOW BINARY LOG STATUS из источника в момент обнаружения проблемы

    • Вывод команды SHOW REPLICA STATUS из реплики в момент обнаружения проблемы

    • Логи ошибок из источника и реплики

  4. Используйте mysqlbinlog для проверки бинарных логов. Следующее должно помочь в выявлении проблемы. log_file и log_pos являются значениями Master_Log_File и Read_Master_Log_Pos соответственно из SHOW REPLICA STATUS.

    $> mysqlbinlog --start-position=log_pos log_file | head
    

После того, как вы собрали доказательства проблемы, попытайтесь изолировать её как отдельный тест-кейс. Затем внесите проблему с как можно большей информацией в нашу базу данных ошибок, используя инструкции в разделе 1.6, «Как сообщать об ошибках или проблемах».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/replication-bugs.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API