?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.
查看主庫兴革?確實(shí)是976結(jié)尾的
?976 | GRANT ALL PRIVILEGES ON *.* TO 'mha'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*F4C9AC49A736981AE2739FC2F4A1FD92B4F07929'? ? |
| mysql-bin.000002 | 976 | Stop? ? ? ? ? |? ? ? ? 7 |? ? ? ? 999 |? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
----從庫的position與主庫不一致涨颜?
核查發(fā)現(xiàn)? 從庫和主庫確實(shí)不一致夜只,但是這個是不是上面錯誤的原因锤岸,我覺得不是,具體等我測試了在說。?
主庫和從庫position號不一致的原因是:主庫修改了密碼:從庫也修改了密碼,分別記錄到了binlog坐搔,從庫binlog多記錄了一次,因?yàn)閺?fù)制了主庫改密碼的binlog.
從新搭建主從敬矩, 主從都未修改密碼概行,讓主從position號保持一致,然后模擬主庫宕機(jī)弧岳,進(jìn)行 主從切換凳忙,發(fā)現(xiàn)日志并沒有出現(xiàn)剛才的錯誤,故該問題得到解決禽炬。
反思:這里我認(rèn)為MHA的設(shè)計(jì)應(yīng)該根據(jù)GTID號來比對比較正確涧卵,position號會存在誤差。
問題腹尖?從庫直接拿現(xiàn)在的master里面的已接受的position點(diǎn)以后的從主庫拿到從庫就好了柳恐,難道是發(fā)生了沖突,因?yàn)閺膸斓膒osition大于主庫热幔?
? ? ?1)反思胎撤,還是使用GTID就好了。
? ? ? ?2)MHA日志補(bǔ)償?shù)脑矶闲祝窟@部分后面有相關(guān)資料在研究,或者再看一次視頻巫俺?