Chinaunix

标题: mysql主从同步的时候从数据库同步报错 [打印本页]

作者: radarruan    时间: 2011-11-24 18:27
标题: mysql主从同步的时候从数据库同步报错
之前遇到主从同步的时候在从数据库的日志上有这样的报错
[ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file', Error_code: 1236
这个问题是因为在重启mysql从数据库的时候,没有把slave功能给关闭的原因。遇到这样的问题的解决办法如下

1、查看主数据库的Position值
show master status;

2、将从数据库的slave功能关闭
slave stop

3、在从数据库修改Position值
change master to master_log_file='mysql-master-bin.000034',master_log_pos=201;

4、开启从的slave
slave start

5、在从数据库执行
show slave status \G;
查看
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
是否都开启了
作者: radarruan    时间: 2011-11-24 18:31
回复 1# radarruan


    补充一下,用我刚才的修改方法会导致数据丢失,因为Position是主上最后修改的点,这导致从同步报错到主上最后修改这段时间的数据都会丢失,正确的做法如下
1、先用
mysqlbinlog mysql-bin.0000xx > a.txt
tail -n 20 a.txt
找到最后正确的同步Position
然后再在从上修改Position点
作者: 飞鸿无痕    时间: 2011-11-24 19:12
目前重启从mysql没有遇到过像楼主这样的问题。重启后都能正确同步。
作者: radarruan    时间: 2011-11-25 14:41
回复 3# 飞鸿无痕


    说错了,应该是重启主库的时候会出现这样的问题。所以再重启主数据库的时候一定要先把从数据库的slave功能给关闭掉
作者: 飞鸿无痕    时间: 2011-11-25 15:33
回复 4# radarruan

无论是重启主库还是从库我这边都没有那个问题。我这边的版本是5.1.50.
作者: ooooldman    时间: 2011-11-25 16:09
我也重启过,都没事
作者: radarruan    时间: 2011-11-28 10:39
回复 5# 飞鸿无痕


    谢谢,我再检查下配置,看是我哪里出错了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2