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

6.7 MySQL主从同步机制

异步复制

认情况下,MysqL的复制功能是异步的,异步复制可以提供最佳的性能,主库把binlog日志爱发送给从库即结束,并不验证从库是否接收完毕。这意味着当主服务器或从服务器发生故障时,有可能从服务器没有街道主服务器发送过来的binlog日志,这就会造成主服务器和从服务器的数据不一致,甚至在恢复时造成数据的丢失

本同步复制

当master在将自己binlog发送给slave上的时候,要确保slave已经接收到了这个二进制日志以后,才会返回数据给客户端。

同步复制

当master在将自己binlog发送给slave上的时候,要确保slave已经接收到了这个二进制日志并执行,才返回给客户端数据。

安装插件

主库上安装插件

MysqL> install plugin rpl_semi_sync_master soname "senisync_master.so";

从库上安装插件

MysqL> install plugin rpl_semi_sync_master soname "senisync_slave.so";

查看插件是否安装成功

MysqL> select plugin_name,plugin_status from information_schema.plugins where plugin_name like "%semi%";

启用半同步配置

在安装完插件后,半同步复制模式认是关闭的,需要手动启用

主库上启用半同步复制模式

MysqL> set global rpl_semi_master_enabled=1;

从库上启用半同步复制模式

MysqL> set global rpl_semi_slave_enabled=1;

查看半同步复制模式

MysqL> showvariables like "rpl_semi_sync_%_enabled";

修改配置文件永久启用半同步复制模式

主库配置

vim /etc/my.cnf

plugin-load=rpl_semi_sync_master=semisync_master.so

rpl_semi_sync_master_enabled=1

从库配置

vim /etc/my.cnf

plugin-load=rpl_semi_sync_slave=semisync_master.so

rpl_semi_sync_slave_enabled=1

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

相关推荐