主从复制之--------mysql的半同步复制和异步复制

一、两台mysql服务器

192.168.217.110

192.168.217.111

二、

1、先确认MySQL服务器是否支持动态增加插件

mysql>select @@have_dynamic_loading

 

2、分别在主从库上安装对用插件

插件一般默认在MySQL安装目录/lib/plugin下,可以去查看一下是否存在

主库的插件是semisync_master.so,从库是semisync_slave.so

 

mysql>install plugin rpl_semi_sync_master soname 'semisync_master.so';

mysql>install plugin rpl_semi_sync_slave soname 'semisync_slave.so';

3、安装完成后,在plugin表(系统表)中查看一下

mysql>select * from mysql.plugin;

 

4、在主从库中开启半同步复制

主:

mysql>set global rpl_semi_sync_master_enabled=1;

mysql>set global rpl_semi_sync_master_timeout=30000;

从:

mysql>set global rpl_semi_sync_slave_enabled=1;

注意:如果之前配置的是异步复制,在这里要重启一下从库的IO线程,如果是全新的半同步则不用重启.

重启命令是:mysql>stop slave io_thread;start slave io_thread;

 

5、在主库上查看半同步复制的状态

mysql> show status like 'Rpl_semi_sync_master_status';
+-----------------------------+-------+
| Variable_name | Value |
+-----------------------------+-------+
| Rpl_semi_sync_master_status | ON |
+-----------------------------+-------+
1 row in set (0.00 sec)

 

 

在输出信息中,我们重点关注三个参数:

rpl_semi_sync_master_status OFF/ON #ON表示半同步复制打开,OFF表示关闭

rpl_semi_sync_master_yes_tx [number] #这个数字表示主库当前有几个事务说通过半同步复制到从库的

rpl_semi_sync_master_no_tx [number] #表示有几个事务不是通过半同步复制到从库的



posted @   jinlin1125  阅读(131)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示