主从复制存在的问题

mysql主从复制存在的问题:
1.主库宕机后,数据可能丢失
2.从库只有一个SQL Thread,主库写压力大,复制很可能延时
解决方法:
半同步复制—解决数据丢失的问题
并行复制----解决从库复制延迟的问题

半同步复制

主库执行
select @@have_dynamic_loading; #查看是否支持动态安装插件
show plugins;
install plugin rpl_semi_sync_master soname 'semisync_master.so'; #半同步复制需要该插件,并重命名
show variables like '%semi%'; 
set global rpl_semi_sync_master_enabled=1; #发现插件未开启,执行命令开启
从库执行
install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
show variables like '%semi%'; 
set global rpl_semi_sync_slave_enabled=1;
stop slave;
start slave;

验证: 主库执行相应操作后,查看 /var/log/mysqld.log
Semi-sync replication initialized for transactions
Semi-sync replication enabled on the master
Start semi-sync binlog_dump to slave 即可说明半同步复制生效了

并行复制

主库执行
show variables like '%binlog_group%';
set global binlog_group_commit_sync_delay=1000;
set global binlog_group_commit_sync_no_delay_count=100;
从库执行
stop slave;
show variables like '%slave_parallel%';
set global slave_parallel_type='LOGICAL_CLOCK';
set global slave_parallel_workers=8;
show variables like '%relay_log%';
set global relay_log_recovery=1;#这里提示只读项,无法修改.只能到/my.cnf中配置[mysqld]下增加配置relay_log_recovery=1
set global relay_log_info_repository='TABLE'; #FILE改TABLE是因为TABLE效率更高
重启mysql

验证:主库执行相应操作后, 查看日志表replication_applier_status_by_worker;

从库执行
use performance_schema;
select * from replication_applier_status_by_worker;
查到相应的信息,即代表并行复制已经工作了
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值