MySQL主从复制中的半同步复制

实验MySQL借助Google提供的插件,完成半同步复制模型;物理机依然是Win7系统,虚拟机为CentOS 7;

主节点:192.168.255.2

从节点:192.168.255.3

先配置为主从复制模型:

在主节点:

# vim /etc/my.cnf

MySQL主从复制中的半同步复制

从节点:

# vim /etc/my.cnf

MySQL主从复制中的半同步复制

启动两节点的myslq服务:

# systemctl start mariadb.service

在主节点:

配置有复制权限的账号:

> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.255.%' IDENTIFIED BY 'replpass';

> FLUSH PRIVILEGES;

注意:如果从服务器也打算创建这个有复制权限的账号,要先启用主从设置后,再执行此命令:

查看二进制日志事务的位置:

MySQL主从复制中的半同步复制

在从节点:

设置同步位置:

> CHANGE MASTER TO MASTER_HOST='192.168.255.2',MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_FILE='master-bin.000003',MASTER_LOG_POS=499;

主从复制配置完成;

分别在主从节点上安装相应的插件:

在主节点:

> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

MySQL主从复制中的半同步复制

启用为半同步的主节点:

> SET GLOBAL rpl_semi_sync_master_enabled=1;

从节点:

安装从节点插件:

> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

MySQL主从复制中的半同步复制

启用为半同步从节点

> SET GLOBAL rpl_semi_sync_slave_enabled=on;

启动从节点同步:

> START SLAVE;

确保从节点的线程正常启动:

MySQL主从复制中的半同步复制

此时,mysql主从复制的半同步配置完成;可演示验证;

在主节点:

创建新库后并查看相关参数值:

MySQL主从复制中的半同步复制

其中Rpl_semi_sync_master_clients:对于当前主节点,有多少个半同步节点;值为1表示有一个半同步节点;

从节点查看:

MySQL主从复制中的半同步复制

以上演示的就是半同步复制的配置过程。

相关推荐