微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql在线建立半同步复制的从库

mysql在线建立半同步复制的从库

在主库和备库创建同步用的用户
grant replication slave on *.* to repl@'%' identified by 'xxx';

(1)备份主库:
MysqLdump -uroot -pxxx --routines --single_transaction --master-data=2 --databases testdb1 testdb2  > backup.sql

传输到从库:
scp backup.sql 192.168.2.22:/root/

(2)从库:
恢复备份:
MysqL -uroot -pxxx < backup.sql 

查看备份是的查看binlog和pos值
head -25 backup.sql 

(3)设置同步点:
change master to master_host="host1",master_user="repl",master_password="xxx",master_log_file="MysqL-bin.000012",master_log_pos=97896903;
start slave;

(4)设置MysqL半同步复制
主库:
MysqL> install plugin rpl_semi_sync_master soname 'semisync_master.so';
MysqL> set global rpl_semi_sync_master_enabled=1;
MysqL> set global rpl_semi_sync_master_timeout=1000;
MysqL> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
MysqL> set global rpl_semi_sync_slave_enabled=1;
MysqL> show global status like 'rpl%';
为了让MysqL在重启时自动加载该功能,在/etc/my.cnf 加入:
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000
rpl_semi_sync_slave_enabled=1

备库:
MysqL> install plugin rpl_semi_sync_master soname 'semisync_master.so';
MysqL> set global rpl_semi_sync_master_enabled=1;
MysqL> set global rpl_semi_sync_master_timeout=1000;
MysqL> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
MysqL> set global rpl_semi_sync_slave_enabled=1;

在/etc/my.cnf中加入:
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000
rpl_semi_sync_slave_enabled=1



版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐