主从复制之--------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] #表示有几个事务不是通过半同步复制到从库的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律