MySQL 5.7的半同步复制

  • Post author:
  • Post category:mysql


环境

角色

IP

port

master

192.168.80.136

3310

slave

192.168.80.137

3310

master

[mysqld]

rpl_semi_sync_master_enabled=1

rpl_semi_sync_master_timeout=1000 #1 second

slave

[mysqld]

rpl_semi_sync_slave_enabled=1


先安装插件在修改参数

on the master

install plugin rpl_semi_sync_master soname ‘semisync_master.so’;

on each slave

install plugin rpl_semi_sync_slave soname ‘semisync_slace.so’;

set global rpl_semi_sync_master_enable=1;

set global rpl_semi_sync_master_timeout=1000; #1 second

set global rpl_semi_sync_slave_enabled=1;

利用show plugins;确认模块是否加载进来 并将配置同步到my.cnf中

show plugins;

help uninstall

uninstall plugin rpl_semi_sync_slave;

[mysqld]

rpl_semi_sync_master_enable=1;

rpl_semi_sync_master_timeout=1000; #1 second

rpl_semi_sync_slave_enabled=1;

原来已经是建好的复制结构

stop slave io_thread;

start slave io_thread;

master

grant replication slave on

.

to ‘repl’@’192.168.90.%’ identified by ‘repl4slave’;

select user,host from mysql.user;

slave

change master to master_host=’192.168.80.136’,master_user=’repl’,master_password=’repl4slave’,master_port=3310,master_log_file=’mysql-bin.000001’,master_log_pos=154;

start slave;

show slave status\G

验证是否同步

监控

show global status like ‘%semi%’;

show global variables lile ‘%semi%’;

是否处在半同步复制

rpl_semi_sync_master_enabled=on

rpl_semi_sync_slave_enabled=on

set global rpl_semi_sync_master_wait_for_slave_count=2; –默认为1 主库收到几个从库的应答

show global status like ‘%semi%’;

rpl_semi_sync_master_no_tx

rpl_semi_sync_master_yew_tx



版权声明:本文为yitu1314原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。