저는 mysql 바이너리 로그 및 복제에 익숙하지 않습니다. 이 문제를 정렬하는 데 도움을 주십시오.
mysql 버전 5.0.95를 사용하고 있는데 이제 binlog에 오류가 발생했습니다. 바이너리 로그의 일부 쿼리가 알 수 없는 이벤트로 발생하고 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 유틸리티를 테스트했습니다. 하지만 행운은 없습니다. 같은 오류. 알려지지 않은 사건이 많습니다.
OS 버전 : CentOS 릴리스 6.4(최종) 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
binlog는 다른 버전의 서버를 사용하여 생성되었습니다 mysql
. 이는 일반적으로 원격 서버 또는 Docker 컨테이너 내부에서 바이너리를 복사할 때 발생합니다. mysqlbinlong
유틸리티 버전을 서버 버전이 아닌 동일하게 만드십시오 mysql
.