02-MySQL双机热备的搭建

一、注意点

  1、接上一篇博客,在搭建好主从的基础上,搭建MySQL的双主架构,也就是让从库的数据更改也同步到主库,这种情况2台数据库的角色就互换了,互为主备。

二、搭建步骤

1、在从节点上创建用于同步数据的用户

命令:grant replication slave on *.* to 'repl_user2'@'192.168.232.35' identified by '654321';

  为了区分和主节点上repl_user1的区别,创建不同的密码

   

 2、开启从节点的BinaryLog

read-only=0
binlog-do-db=test
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
auto-increment-increment=10
auto-increment-offset=2

   

 配置完后,重启从节点的MySQL服务 

3、查看从服务的master日志状态(现在的从节点其实充当的是主节点的角色)

命令:show master statusG

  

4、登录主节点,修改my.cnf配置,开启中继

replicate-do-db=test
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-ignore-db=sys
relay_log=mysql-relay-bin
log-slave-updates = ON

   

 5、在主节点上启用同步

mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.232.36',
-> MASTER_USER='repl_user2',
-> MASTER_PASSWORD='654321',
-> MASTER_LOG_FILE='mysql-bin.000005',
-> MASTER_LOG_POS=154;

  

 6、重启主节点的MySQL服务

命令:  service mysql restart

 7、查看主节点的slave状态

命令:show slave statusG

注:如果启动后发现2个线程的状态为NO时,参考下面三种的解决方案

  Slave_IO_Running: No
  Slave_SQL_Running: No

8、测试数据是否同步

(1)在从节点新增数据

   

 (2)主节点上查看

   

 注: 可以看到在从节点新增的数据,主节点已经同步过来了,并且看到第一条新增的数据的id是22,第二条是32,这样就保证了2边的id不冲突了。

三、遇到的错误

1、查看主节点的slave状态发现2个线程的状态为NO

(1)错误截图

 (2)查看错误日志

 这个错误是我们在配置A的中继文件时改了中继文件的名字,但是mysql没有同步导致的。

(3)解决办法

停掉MySQL服务,找到下面的三个文件,删除掉,重启服务器

relay-log.info

jfdb-relay-bin.000001

jfdb-relay-bin.index

注:jfdb是对应的机器名

  

 注:如果重启后这2个线程还是NO的话,重新配置一下主的信息,重启mysql服务

 

***************************************************

如下是个人开发系统,欢迎大家体验,纯属个人爱好,想一块玩的,私信。

易本浪账:www.jialany.com  

***************************************************

原文地址:https://www.cnblogs.com/jialanyu/p/12900958.html