点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!
某系统因需将要更换主机,现需要迁移MySQL数据库(一主一从)。在得知可完全停止业务、数据量不大的情况下,综合考虑选择全量物理迁移的方法进行操作。
操作步骤
1.1 等待业务停止,分别停止原主机上的两台(主、从)数据库停止服务
1.2 分别在新的两台主机上创建mysql用户及组
1.3 分别将原主机的数据库目录(软件目录、数据目录)以及/etc/my.cnf文件拷贝至新主机
1.4 复制support-files下的mysql.server文件拷贝至/etc/init.d(设置为系统文件)
1.5 将MySQL目录所属设置为mysql用户
1.6 将my.cnf文件所属设置为mysql用户
1.7 将MySQL加入到启动项
1.8 设置环境变量
vim etc/profile添加这一段:保存后,执行source etc/profile生效。
1.9 启动MySQL
截至目前两台数据库已安装完成,现开始配主从复制。
1.10 查看master状态
1.11 指定当前从库对应的主库的IP地址,用户名,密码,从哪个日志文件开始的哪个位置开始同步推送日志
1.12 启动复制
启动复制失败,出现异常报错!
处理方法
2.1 报错分析首先考虑是停机冷备copy过来的ip发生了变化,但我在复制关系也改了ip,按道理应该是没问题的。经过反复观察,发现错误是从库已经存在之前应用的关键文件(relay-log、master-info、relay-info),导致报错。2.2 处理操作在从库中的MySQL中执行 RESET SLAVE 命令清除所有复制信息,或手动删除relay-log、master-info、relay-info (用于记录主从复制相关信息的文件)。重新配置之后,再启动复制(自动生成新的关键文件)。
主从复制启动成功,查看主从状态:
至此主从同步成功,通知业务测试,测试正常。
总结与反思:
在进行MySQL主从迁移时,请务必注意执行reset slave, 以确保数据完整性和避免潜在的问题。
END