mysql如何切换主从角色_mysql主从切换实战
发布时间 - 2026-02-03 00:00:00 点击率:次主从切换前必须确认Seconds_Behind_Master为0、Slave_IO_Running和Slave_SQL_Running均为Yes、原主库无长事务及未提交写入;需执行FLUSH TABLES WITH READ LOCK、MASTER_POS_WAIT等待追平、重置复制源并验证新主从数据一致性和连接指向。
主从切换前必须确认的 3 个状态
直接执行切换大概率导致数据丢失或复制中断。先检查这三项:
• SHOW SLAVE STATUS\G 中 Seconds_Behind_Master 必须为 0(或极小稳定值),不能是 NULL 或持续增长
• Slave_IO_Running 和 Slave_SQL_Running 都必须是 Yes
• 原主库上 SHOW PROCESSLIST 中无长事务、无未提交的 INSERT/UPDATE/DELETE
停写 + 等待同步完成的标准操作
切勿在业务写入中强行切换。真实环境要这样收口:
• 在原主库执行 FLUSH TABLES WITH READ LOCK(会阻塞写,但确保后续 binlog 位置精确)
• 立即执行 SHOW MASTER STATUS,记下 File 和 Position
• 到原从库运行 SELECT MASTER_POS_WAIT('xxx-bin.000001', 123456789),等待返回非 -1 值才表示已追平
• 此时再在原主库执行 UNLOCK TABLES
修改复制关系的两步关键命令
角色互换不是改个配置重启就行,必须重置复制源:
• 在**新主库**(原从库)上执行:STOP SLAVE;RESET SLAVE ALL;(清空 relay log 和 master.info,避免残留旧配置)
• 在**新从库**(原主库)上执行:CHANGE REPLICATION SOURCE TO SOURCE_
START SLAVE;
切换后必须验证的 3 个点
很多故障出现在“以为切成功了”之后:
• 新主库写入一条带时间戳的测试记录,比如 INSERT INTO test_switch VALUES (NOW());
• 立即在新从库查这条记录是否出现、时间是否一致
• 检查新从库的 SHOW SLAVE STATUS\G 中 Seconds_Behind_Master 是否保持为 0,且 Retrieved_Gtid_Set 和 Executed_Gtid_Set 相等(若启用 GTID)
• 特别注意:应用连接字符串里的 host 和端口是否已指向新主库,DNS 缓存或连接池可能仍连着老地址
FLUSH TABLES WITH READ LOCK 和后续的 MASTER_POS_WAIT 等待——有人图快直接 STOP SLAVE 就切,结果新主库漏掉最后几条 binlog,线上数据就对不上了。
# mysql
# word
# 端口
# ssl
# ai
# switch
# dns
# 数据丢失
# NULL
# select
# 字符串
# delete
# position
# 切成
# 追平
# 出现在
# 均为
# 就行
# 不上
# 这条
# 线上
# 重启
# 就对
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何为API生成Swagger或OpenAPI文档
Laravel如何优化应用性能?(缓存和优化命令)
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
QQ浏览器网页版登录入口 个人中心在线进入
如何在新浪SAE免费搭建个人博客?
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
如何用免费手机建站系统零基础打造专业网站?
Laravel如何使用.env文件管理环境变量?(最佳实践)
Python数据仓库与ETL构建实战_Airflow调度流程详解
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
如何用美橙互联一键搭建多站合一网站?
如何用IIS7快速搭建并优化网站站点?
微信小程序 配置文件详细介绍
Angular 表单中正确绑定输入值以确保提交与验证正常工作
JavaScript数据类型有哪些_如何准确判断一个变量的类型
济南网站建设制作公司,室内设计网站一般都有哪些功能?
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
无锡营销型网站制作公司,无锡网选车牌流程?
Swift中switch语句区间和元组模式匹配
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
微信公众帐号开发教程之图文消息全攻略
Python3.6正式版新特性预览
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
Laravel如何使用模型观察者?(Observer代码示例)
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
如何在IIS管理器中快速创建并配置网站?
新三国志曹操传主线渭水交兵攻略
独立制作一个网站多少钱,建立网站需要花多少钱?
如何快速搭建二级域名独立网站?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
如何用花生壳三步快速搭建专属网站?
如何在宝塔面板中创建新站点?
Laravel如何使用Blade模板引擎?(完整语法和示例)
如何快速搭建高效WAP手机网站?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
怎么用AI帮你为初创公司进行市场定位分析?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
百度浏览器如何管理插件 百度浏览器插件管理方法
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
制作公司内部网站有哪些,内网如何建网站?
实例解析Array和String方法
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel如何配置任务调度?(Cron Job示例)
大同网页,大同瑞慈医院官网?

