mysql如果主库宕机,如何解决?
两种情况服务器down机,数据库down机
如果此时需要切从库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 1 、先show processlist\G,查看状态 如果看到两个状态,说明此时的从库和主库是同步的 state: waiting for master to send event I / O线程 state:has read all relay log;waiting for the slave I / O thread to update it sql线程 2 、登录从库分别查看: cat / data / 3306 / data / master.info cat / data / 3307 / data / master.info 看哪个从库的哪个master.info哪个更新,就说明哪个从库一致性更高,所以此时就确定最新的库为主库。 选个pos最大的作为主库 或利用半同步的功能,直接选择做实时同步的这个从库。 1 、确保所有relay log全部更新完毕。 在每个从库上执行stop slave io_thread;show processlist; 直到看到has read all relay log;表示从库更新都执行完毕 2 、登录从库 mysql - uroot - p123 - S / data / 3306 / mysql.sock stop slave; reset master; quit; 3 、进入数据库数据目录,删除master.info relay - log.info cd / data / 3306 / data / master rm - f master.info relay - log.info 检查授权表,类似read - only参数 4 、 3306 提升从库为主库 vim / data / 3306 / my.cnf 开启: log - bin = / data / 3306 / mysql - bin / / 如果存在log - slave - updates read - only等参数一定要注释掉。 / data / 3306 / mysql stop / data / 3306 / mysql start 到此,提升主库完毕 5 、如果主库服务器没down,需要去主库拉取 bin - log补全提升主库的从库 6 、其他从库操作 已检查(同步user rep均存在) 登录从库 stop slave; change master to master_host = '192.168.1.32' ; / / 如果不同步,就指定位置点 start slave; show slave status\G; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)