?Concat binary/relay logs from mysql-bin.000002 pos 976 to mysql-bin.000002 EOF into /var/tmp/saved_binlog_binlog1_20200418223125.binlog ..
ERROR: Error in Log_event::read_log_event(): 'read error', data_len: 770, event_type: 0
?Concat succeeded.
查看主庫(kù)?確實(shí)是976結(jié)尾的
?976 | GRANT ALL PRIVILEGES ON *.* TO 'mha'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*F4C9AC49A736981AE2739FC2F4A1FD92B4F07929'? ? |
| mysql-bin.000002 | 976 | Stop? ? ? ? ? |? ? ? ? 7 |? ? ? ? 999 |? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
----從庫(kù)的position與主庫(kù)不一致?
核查發(fā)現(xiàn)? 從庫(kù)和主庫(kù)確實(shí)不一致,但是這個(gè)是不是上面錯(cuò)誤的原因,我覺(jué)得不是,具體等我測(cè)試了在說(shuō)。?
主庫(kù)和從庫(kù)position號(hào)不一致的原因是:主庫(kù)修改了密碼:從庫(kù)也修改了密碼,分別記錄到了binlog,從庫(kù)binlog多記錄了一次,因?yàn)閺?fù)制了主庫(kù)改密碼的binlog.
從新搭建主從, 主從都未修改密碼,讓主從position號(hào)保持一致,然后模擬主庫(kù)宕機(jī),進(jìn)行 主從切換,發(fā)現(xiàn)日志并沒(méi)有出現(xiàn)剛才的錯(cuò)誤,故該問(wèn)題得到解決。


反思:這里我認(rèn)為MHA的設(shè)計(jì)應(yīng)該根據(jù)GTID號(hào)來(lái)比對(duì)比較正確,position號(hào)會(huì)存在誤差。
問(wèn)題?從庫(kù)直接拿現(xiàn)在的master里面的已接受的position點(diǎn)以后的從主庫(kù)拿到從庫(kù)就好了,難道是發(fā)生了沖突,因?yàn)閺膸?kù)的position大于主庫(kù)?
? ? ?1)反思,還是使用GTID就好了。
? ? ? ?2)MHA日志補(bǔ)償?shù)脑??這部分后面有相關(guān)資料在研究,或者再看一次視頻?