Я переношу кластер со следующим набором ошибок пропуска ведомого устройства:
slave-skip-errors = 0,1062,1053,1051
Конечно, пока все идет, никто не знает, почему это было так настроено, кто это сделал, и даже если они работают в компании. Я также знаю, почему НЕ ставить какие-либо ошибки пропуска ведомого устройства, но я совершенно не понимаю, что такое «0». Репликация, которую я настраиваю, не будет иметь ошибок пропуска ведомого устройства.
Смотря на http://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html Я могу найти все пропущенные коды. Я могу только предположить, что ноль - это своего рода уловка для ошибок пропуска ведомого? Мой гугл-фу не так силен в этом вопросе, я действительно не могу найти ответа на свой вопрос, поэтому я надеюсь, что какой-нибудь гуру MySQL здесь сможет подтвердить или опровергнуть 0, и если это действительно так что-нибудь.
Спасибо!
Их не должно быть, эта конфигурационная директива должна быть установлена по умолчанию (не игнорируя ни одну из ошибок). Так просто, как, что. А на вашем месте я бы переинициализировал всю реплику. На логическом уровне это почти неизбежно рассинхронизируется.
Эта городская легенда (настройка не по умолчанию slave-skip-errors
) возникает из двух вещей:
read-only
по умолчанию, поэтому любые клиенты, которые все еще подключаются к нему (из-за устаревших дескрипторов соединения или застрявших пулов соединений), могут легко повредить его. Так что каждая реплика, вероятно, должна быть read-only
, если только не будет циклической цепной репликации (с моей точки зрения - еще одна чушь) или хотя бы окончательного понимания, почему это должно быть чтение-запись.