MySQL主从异常恢复
说明
MySQL主从出现不同步的情况时,或者要添加新的从库时,可以使用以下方法进行操作回复主从。
停止业务应用
停止所有连接到主从库上的应用,在恢复主从期间禁止任何增删改等操作,否则恢复失败
停止主从服务
进入slave节点,停止主从服务
$ mysql> stop slave;
处理从库数据
处理从库数据主要有两种情况:
- 从库中的数据比主库多
这种情况需要先找出从库比主库多的数据,将这些数据添加到主库中
- 主库的数据比从库的数据多
这种情况可以直接删除从库的所有数据,然后再将主库的数据复制一份到从库
如果从库所在的容器已经不能正常启动,可以考虑删除容器再重新创新新的容器
复制主库数据到从库中
从库数据处理完成后,将从库的数据全部删除掉,然后将主库的数据复制一份到从库中
主库数据并不仅仅是表数据,还包含用户等数据
查询主库当前日志位置
登陆主库的mysql,使用以下命令查询主库当前的二进制日志文件名字以及位置
$ docker exec –it mysql /bin/bash
$ mysql –uroot –p
$ mysql>show master status;
记录File和Position的值,后面需要使用
创建主库和从库的连接
进入从库
$ docker exec –it mysql /bin/bash
$ mysql –uroot –p
使用以下命令创建主库和从库的连接
mysql>change master to master_host='172.16.86.100', master_user='slave',
master_password='Bjcr.123_MySQL', master_port=3306, master_log_file='mysql-bin.000065',
master_log_pos= 998883537, master_connect_retry=30;
重启slave
使用下面的命令,启动slave
$ mysql>start slave
使用以下命令查询主从状态
$ show slave status \G;
出现下图所示的情况即为主从创建成功:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 不到万不得已,千万不要去外包
· C# WebAPI 插件热插拔(持续更新中)
· 会议真的有必要吗?我们产品开发9年了,但从来没开过会
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 如何打造一个高并发系统?