背景

很多业务系统都是7*24h不间断运行的,MySQL作为应用程序的数据存储软件,必须提供高可用特性。MySQL高可用通过数据库的复制技术实现,MySQL主从复制通过binlog(二进制日志)实现。主从复制将来自一个MySQL数据库服务器(主服务器)的数据复制到一个或多个MySQL数据库服务器(从服务器)。当主库出现故障时,可以手动切换到从库,从而保证业务连续性和可靠性。目前MySQL大部分部署在x86架构服务器上,未来会有越来越多的MySQL部署在ARM架构服务器上,本文可以指导用户将MySQL主从复制部署到ARM架构服务器或者ARM架构服务器和x86架构服务器的混合环境,并通过pt-table-checksum工具校验主从数据一致性。

MySQL主从复制有三种模式:异步复制、半同步复制和并行复制。异步复制和半同步复制的区别在于binlog传输是否实时,而并行复制是指从库回放relay log是否启用多个线程执行。MySQL主从复制有两种同步方式:传统方式和GTID方式,主库和从库同步方式保持一致。

本文以一主二从方式进行介绍,但是MySQL主从复制部署不限于一主二从。本文基于环境配置中的硬件配置、软件版本和组网规划进行搭建,但不限于该硬件配置、软件版本和组网规划,MySQL版本仅验证了8.0.20和5.7.27,其它版本可以参考本文进行部署。

更多主从复制信息请参见MySQL官网:https://dev.mysql.com/doc/refman/5.7/en/replication.html