Spec-Zone.ru › MySQL 5.7

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

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

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

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

  2. Запустите реплику с параметрами --log-slave-updates и --log-bin. Эти параметры заставляют реплику записывать обновления, которые она получает от источника, в свои собственные двоичные журналы.

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

    • Все двоичные журналы из источника

    • Все двоичные журналы из реплики

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

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

    • Журналы ошибок из источника и реплики

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

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

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

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

Spec-Zone.ru

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