遇到了这样的错误如:“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'”等或由于清数据导致主从库不同步了,解决办法如下:
先进入slave中执行:"slave stop;"来停止从库同步;
再去master中执行:"flush logs;"来清空日志;
然后在master中执行:"show master status;"查看下主库的状态,主要是日志的文件和position;
然后回到slave中,执行:"CHANGE MASTER TO MASTER_LOG_FILE='log-bin.000004',MASTER_LOG_POS=106;",文件和位置对应master中的;
最后在slave中执行:"slave start;"来启动同步。
关于配置主从mysql服务器方法
1、二台机器(我的是winxp ip 192.168.0.119从主服务器 win2003 192.168.0.17主服务器)
2、在两台机器分别装上mysql数据库教程教程服务器(注:最好是从服务器版本要高于主服务器版本)
3、为了方便记忆我把主服务器192.168.0.17称作bKjia.c0m-a,从服务器192.168.0.119 bKjia.c0m-b机器
首页我们配置主服务器,创建一个数据库 a111cnnet 创建表test
找到你的my.ini 里面的[mysqld] 在下面增加
server-id =111 #唯一标识,只要不和从服务器相同就行了。
log-bin=mysql-bin #d:/mysql/log/ #必须开启这里,告诉主服务器以二进制日志
binlog-do-db=a111cnnet # 要同步的数据库,多可写多行
binlog-ignore-db=mysql #忽略的数据库,多可写多行
下面要在bKjia.c0m-a上创建一个帐号,以便bKjia.c0m-b可以访问如下。
grant file,replication slave,replication client,super on *.* to backup2@'192.168.0.119' identified by 'backup2';
这样我们就创建一个
用户名 backup2
密码 backup2
只允许 192.168.0.119 这台机器连接
好了要bKjia.c0m-a 配置好,下面来看bKjia.c0m-b配置
首先找到你的my.ini打开在[mysqld]下,增加如下代码
server-id =112
master-host=192.168.0.17 #主服务器ip
master-user=backup2 #主服务器mysql账号,上面创建的
master-password=backup2 #主服务器mysql密码,上面创建的
master-connect-retry=1 #如何服务器重新连接时间为60
replicate-do-db=a111cnnet #需要备份数据库
replicate-ignore-db=mysql #忽略的数据库
好了配置就完成了,重启动bKjia.c0m-a再启动bKjia.c0m-b ,现在在bKjia.c0m-b执行show slave status
显示
slave_io_state waiting for master to send event
slave_io_running yes
slave_sql_running yes
说明配置己经成功了。
好了,你现在可以在bKjia.c0m-a创建一个表,或加一条记录看看,是不是数据同步了
如果不行,你把bKjia.c0m-a 和 bKjia.c0m-b 里面的master.info删除,重启动再试下。