mysqlbinarylog - уникальность table_id в TABLE_MAP_EVENT

Я пытаюсь вручную декодировать двоичный формат mysql ROW. Каждому событию обновления / вставки / удаления предшествует TABLE_MAP_EVENT.

Это событие содержит table_id, Я использую этот идентификатор для создания кэша для определения столбца этой таблицы.

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

Я подозреваю, что table_id является уникальным только для одного двоичного файла журнала. Кто-нибудь знает, верно ли это предположение? Кто-нибудь знает, где найти документацию, которая заявляет, что я могу ожидать от table_id?

Заранее спасибо Бьёрн

2 ответа

Решение

Поскольку я не вижу вашей реальной реализации, это всего лишь слепое предположение, но взгляните на приведенную ниже ошибку, возможно, которая вызывает вашу головную боль: http://bugs.mysql.com/bug.php?id=67352

        Идентификаторы таблицы, используемые в репликации, были определены как тип ulong на 
        хозяин и уинт на раба. Кроме того, максимальное значение для 
        Идентификаторы таблицы в двоичном журнале событий - 6 байтов (281474976710655). это 
        Сочетание факторов привело к следующим проблемам:

            Данные могут быть потеряны на ведомом устройстве, когда таблице был назначен 
            ID больше, чем Uint.

            * Идентификаторы таблицы, превышающие 281474976710655, были записаны в 
            двоичный журнал как 281474976710655.*
            (...)

Нет, нет никаких таблиц поиска для двоичных значений идентификатора таблицы журнала.

Вы должны обработать события binlog WRITE/UPDATE/DELETE относительно их предыдущих событий TABLE_MAP.

На самом деле есть столбец TABLE_ID внутри INFORMATION_SCHEMA.INNODB_SYS_TABLES но эти числа отличаются от идентификаторов таблиц, которые встречаются в двоичных событиях журнала TABLE_MAP.

Другие вопросы по тегам