其他注意事项PS:

1、如果搭建的时候找不到问题,没有思路,极端情况下,可以重头搭建,彻底清除所有主从关系或 某个mysql服务器主从关系

        (1)暂停当前mysql服务器主从关系的相关线程操作,不获取其它服务器binlog和补执行自己的中继日志

                stop slave;

        (2)清空当前mysql服务器上所有主从关系

                reset slave all;

        (3)查询当前服务器上是否存在主从关系{当前服务器},其它服务器的主从不变,其它服务器引用了被清空的服务器还是存在主从关系,只是这种主从的io线程Slave_IO_Running可能会NO,只是当前的服务器被清空了

                show slave status

        (4)如果要清空所有的主从,只需在其他mysql服务器循环(1)(2)(3)步骤

        (5)注意:这里的清空只是清空主从关系,设置的数据主从账号、数据库的my.ini的配置文件依旧存在

2、多主多从的情况下主库my.ini的log-slave-updates的作用

        (1)假设目前有主A、主B、从1、从2,主库未开启log-slave-updates

                主A和从1互为主从

                主B和从2互为主从

                主A和主B互为主从

               主从、主主复制的简单原理描述:

                {1}主库开启binlog(二进制日志),如果有主主复制的情况下会同时存在relaylog(中继日志)

                {2}数据库操作数据有变动,会记录在binlog,binlog以什么形式记录主要看my.ini的binlog_format;

                {2}从库会使用主库的授权账号开启i/o线程,获取主库的binlog,此时从库的执行语句 show slave status 字段Slave_IO_Running为Yes

                 {3}从库在主库获取的binlog日志存储到自己的relaylog(中继日志)里面;从库会在本数据库中同步relaylog(中继日志)做数据操作

         (2)主A"操作”数据,从1可以同步主A数据,主B可以同步主A数据、从2无法同步主A是数据

           (3) 主B"操作”数据,从2可以同步主B数据,主A可以同步主B数据、从1无法同步主B是数据     

           (4)原因:主主复制过程中log-slave-updates默认是不开启,在不开启的情况下,主库获取其它主库binlog(二进制日志)是不会存到自己的binlog(二进制日志)中;所以从其它主库获得的数据就不会再被这台数据库的其它从库获取数据了。

                ps:扩展思考,假设主库A操作存入binlog,主库B获取主库A的binlog后存入自己的binlog,然后主库A又会获取主库B的Binlog,此时是不是会陷入无限死循环,所以此时数据库my.ini就需要设置server-id来区别数据库唯一性,在获取binlog时会同时判断日志中的server-id,如果是自己的id就不会执行该同步语句