基于Docker如何实现MySQL主从复制详解-创新互联
前言
MySQL的主从复制是实现应用的高性能,高可用的基础。对于数据库读操作较密集的应用,通过使数据库请求负载均衡分配到不同MySQL服务器,可有效减轻数据库压力。当遇到MySQL单点故障中,也能在短时间内实现故障切换。本文就MySQL的内建的复制功能进行阐述。
版本
- MySQl: 5.7.17
- CentOS: 7.4.1708
- Docker: 1.13.1
概述
MySQL复制数据流程:
- 主库在数据更新提交事务之前,将事件异步记录到binlog二进制日志文件中,日志记录完成后存储引擎提交本次事务
- 从库启动一个I/O线程与主库建立连接,用来请求主库中要更新的binlog。这时主库创建的binlog dump线程,这是二进制转储线程,如果有新更新的事件,就通知I/O线程;当该线程转储二进制日志完成,没有新的日志时,该线程进入sleep状态。
- 从库的I/O线程接收到新的事件日志后,保存到自己的relay log(中继日志)中
- 从库的SQL线程读取中继日志中的事件,并执行更新保存。
配置主从库
主库my.cnf配置
在主库的my.cnf中打开二进制日志,并设置服务Id。
log-bin = mysql-bin server-id = 1
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:基于Docker如何实现MySQL主从复制详解-创新互联
地址分享:http://azwzsj.com/article/dhcdhi.html