一主一从结构迁移从库 的MySQL迁移方案 - SEO - 新闻资讯 - 一主一从结构迁移从库 的MySQL迁移方案
新闻资讯

一主一从结构迁移从库 的MySQL迁移方案

发布时间:2021-03-15 浏览次数:12

MySQL 迁移是DBA日常维护中的一项工作。迁移,究其本义,无非是将实际存在的物体移走,以确保物体的完整性和连续性。就像柔软的沙滩上,两个幼稚的孩子把一堆沙子移到其他地方,铸造一座内心的城堡。

2083154086

 一主一从结构迁移从库


遵循从易到难的思路,我们从简单的结构入手。A 项目,原本是一主一从结构。101 是主节点,102 是从节点。因业务需要,把 102 从节点迁移至 103,架构图如图一。102 从节点的数据容量过大,不能使用 mysqldump 的形式备份。和研发沟通后,形成一致的方案。


MySQL,迁移,方案

图一 一主一从结构迁移从库架构图


 


具体做法是这样:


1.研发将 102 的读业务切到主库;


2.确认 102 MySQL 状态(主要看 PROCESS LIST),观察机器流量,确认无误后,停止 102 从节点的服务;


3.103 新建 MySQL 实例,建成以后,停止 MySQL 服务,并且将整个数据目录 mv 到其他地方做备份;


4.将 102 的整个 mysql 数据目录使用 rsync 拷贝到 103;


5.拷贝的同时,在 101 授权,使 103 有拉取  binlog 的权限(REPLICATION SLAVE, REPLICATION CLIENT);


6.待拷贝完成,修改 103 配置文件中的 server_id,注意不要和 102 上的一致;


7.在 103 启动 MySQL 实例,注意配置文件中的数据文件路径以及数据目录的权限;


8.进入 103 MySQL 实例,使用 SHOW SLAVE STATUS 检查从库状态,可以看到 Seconds_Behind_Master 在递减;


9.Seconds_Behind_Master 变为 0 后,表示同步完成,此时可以用 pt-table-checksum 检查 101 和 103 的数据一致,但比较耗时,而且对主节点有影响,可以和开发一起进行数据一致性的验证;


10.和研发沟通,除了做数据一致性验证外,还需要验证账号权限,以防业务迁回后访问出错;


11.做完上述步骤,可以和研发协调,把 101 的部分读业务切到 103,观察业务状态;


12.如果业务没有问题,证明迁移成功。


MySQL迁移无非是围绕数据进行工作,然后继续延伸,无非是在保证业务稳定持续运行的前提下进行备份恢复。那么问题就在于如何快速、安全地进行备份恢复。以上是一个场景迁移的步骤,对于MySQL迁移来说,最重要的还是要备份,以免迁移过程中发生意外。

上一篇: MySQL DBA培训 安全性的内因跟外因

下一篇: 没有了

相关推荐

产品试用 产品试用
400-820-6580 免费电话