Я новичок в двоичном журнале MySQL и репликации. Пожалуйста, помогите мне разобраться с этой проблемой.
Я использую mysql версии 5.0.95 и теперь сталкиваюсь с ошибками в binlogs. Некоторые запросы в двоичном журнале как неизвестные события, а также получаю ошибку, когда мы пытаемся принудительно прочитать двоичный журнал с помощью утилиты mysqlbinlog
mysqlbinlog techgv3_mysql-bin.000001 > /dev/null
Вывод команды
ERROR: Error in Log_event::read_log_event(): 'Found invalid event in binary log', data_len: 341, event_type: 2
Could not read entry at offset 126:Error in log format or read error
Я тестировал утилиту mysqlbinlog с разными версиями. Но безуспешно. Та же ошибка. Много неизвестных событий.
Версия ОС: CentOS release 6.4 (Final) 64 бит
Вывод команды
mysqlbinlog -f techgv3_mysql-bin.000001
#131212 17:21:42 server id 100 end_log_pos 112256
# Unknown event
# at 112256
#131212 17:21:42 server id 100 end_log_pos 112284 Intvar
SET INSERT_ID=13826501/*!*/;
# at 112284
#131212 17:21:42 server id 100 end_log_pos 112636
# Unknown event
# at 112636
#131212 17:21:42 server id 100 end_log_pos 112664 Intvar
SET INSERT_ID=13826502/*!*/;
# at 112664
#131212 17:21:42 server id 100 end_log_pos 113873
# Unknown event
# at 113873
#131212 17:21:43 server id 100 end_log_pos 113901 Intvar
SET INSERT_ID=13826503/*!*/;
# at 113901
#131212 17:21:43 server id 100 end_log_pos 114256
# Unknown event
# at 114256
#131212 17:21:43 server id 100 end_log_pos 114443
# Unknown event
# at 114443
#131212 17:21:43 server id 100 end_log_pos 114471 Intvar
SET INSERT_ID=13826504/*!*/;
# at 114471
#131212 17:21:43 server id 100 end_log_pos 114818
# Unknown event
# at 114818
#131212 17:21:43 server id 100 end_log_pos 114846 Intvar
SET INSERT_ID=13826505/*!*/;
# at 114846
#131212 17:21:43 server id 100 end_log_pos 115404
# Unknown event
# at 115404
Также создал ту же версию MySQL 5.0.95 в своей локальной системе и выполнил все запросы MySQL из общего журнала сервера. Не можете найти никаких ошибок в двоичном журнале?
Есть идеи, как решить эту проблему?
решение1
У меня была та же проблема, но решение простое. Обновите свой mysql-client
.
Бинлоги были созданы с использованием mysql
сервера другой версии. Обычно это происходит, когда вы копируете двоичный файл с удаленного сервера или внутри контейнера docker. сделайте так, чтобы mysqlbinlong
версия вашей утилиты была такой же, а не mysql
версии сервера.