MYSQL-主从同步复制模式

本文详细介绍了数据库主从同步的三种工作模式:异步、全同步和半同步,并重点讲解了如何配置半同步复制模式,包括加载模块、启用模块及永久配置的方法。

实现主从同步的工作模式:
1、异步:master执行完一次操作以后,立即把结果返回给client,不需要关心slave是否执行。(默认方式,用户体验好,数据安全得不到保障)
2、全同步:master执行完一次操作后,要等到所有的slave都执行完毕以后,才把结果返回给client。(用户体验不好,数据安全性得到了保障)
3、半同步:介于异步和全同步之间。master执行完一次操作之后,至少有一个slave执行完毕以后,才把结果返回给client。

配置半同步复制模式:
如果一台主机仅为master,则只需配置master的半同步。
如果一台主机仅为slave,则只需配置slave的半同步。
如果一台主机既是master又是slave,则配置master和slave的半同步。

命令行配置:(立即生效,重启后失效,使用root登录mysql后进行操作)

1、查看是否允许加载动态模块:
show  variables  like  'have_dynamic_loading';

2、加载模块:
master模块:
install plugin rpl_semi_sync_master SONAME ”semisync_master.so”;
# rpl_semi_sync_master 模块类型,表示了是master
# SONAME ”semisync_master.so” 指明了模块的名

slave模块:
install plugin rpl_semi_sync_slave SONAME "semisync_slave.so";

3、查看加载的模块:
select plugin_name, plugin_status from information_schema.plugins \
where plugin_name like '%semi%';

+----------------------+---------------+
| PLUGIN_NAME          | PLUGIN_STATUS |
+----------------------+---------------+
| rpl_semi_sync_master | ACTIVE        |       # active表示安装成功
| rpl_semi_sync_slave  | ACTIVE        |        
+----------------------+---------------+


4、启用模块:
set global rpl_semi_sync_master_enabled = 1;	#启动master半同步
set global rpl_semi_sync_slave_enabled = 1;	#启动slave半同步

5、查看模块是否启动:
show  variables  like  "rpl_semi_sync_%_enabled";

+------------------------------+-------+
| Variable_name                | Value |
+------------------------------+-------+
| rpl_semi_sync_master_enabled | ON    |   	#on表示开启成功
| rpl_semi_sync_slave_enabled  | ON    |
+------------------------------+-------+

永久配置:

vim /etc/my.cnf
[mysqld]
...
plugin-load=
"rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
rpl-semi-sync-master-enabled = 1	#开启master半同步
rpl-semi-sync-slave-enabled = 1		#开启slave半同步
...
重启服务:systemctl restart mysqld

写总结的第三十八天!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值