【MySQL运维】MySQL主机名更改后导致主从异常问题的解决方法

TangLu MySQL 2020-02-08 3270 0

如果在配置数据库的时候没有为log-bin指定对应的文件名,MySQL会把主机名作为二进制日志和中继日志的文件名。如果主机名发生更改就会导致日志文件名也跟着变动,这样一来从库就无法找到正确的Binlog日志,产生主从复制错误,具体报错为Last_IO_Error:Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'。这个是一个已知的问题而非MySQL BUG,通过正确的配置是可以规避的

vi /etc/my.cnf
...
log-bin=master-bin
log-bin-index = master-bin.index

 

如果确实是因为配置不当发生了这个问题,可以先将新中继日志索引中的文件追加到旧的中继日志索引文件中,然后再把旧索引文件名更改为新索引文件名的方式来进行恢复

cat new_relay_log_name.index >> old_relay_log_name.index
mv old_relay_log_name.index new_relay_log_name.index


评论