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