一.主从复制简介
二.主从复制原理
四.主从复制基本故障处理
五.延时从库
六.半同步复制
七.过滤复制
四、主从复制基本故障处理
SQL 线程为NO
一般情况下,因为主库一开始本来就有一些存在的库,在已经有这些库的情况下,开启了binlog,这时候mysql-bin.00001,位置点是120. 老早存在的那些库的信息不会在开启的这个binlog里。 但是这时候在老在存在的库,进行SQL语句操作,这个时候位置点变成了340. 这时候从库做主从复制的时候,从库是一个新库只有一些基本的系统库没有老早就存在的那些库。这时候change master 从mysql-bin.00001,位置点120开始的话就会报错。 因为从库本身没有老早存在的库,还执行对老早存在的库的SQL语句。 如果不想报错,从库就从位置点340开始。就不会把要执行的那些SQL语句记录进去了。 所以要保证两库的数据一致,然后才做主从复制。
解决:
在主库做全贝操作:
mysqldump -uroot -p1 -A --master-data=2 > /tmp/full.sql
scp /tmp/full.sql 172.16.1.7
在从库需要导入数据:
但前提是先把主从复制停掉:
stop slave;
然后导入数据:
source /tmp/full.sal
全贝的效果就是主库里所有的表都备份了,而且不管些什么都会同步过来。
这时候看一下 /tmp/full.sql 找到里面的位置点 重置从表。 vim /tmp/full.sql 位置点 reset slave 重置的内容 开启从库