mysql 主库down机_Mysql主从架构-主库宕机如何恢复业务

当MySQL主库出现宕机时,可通过硬件问题检查、服务异常排查、切换从库为新主库以及调整所有从库指向新主库来恢复业务。在选择新主库时,考虑从库的一致性和binlog同步状态。此外,了解MHA、RDS高可用方案以提升数据库的稳定性。
摘要由CSDN通过智能技术生成

文章目录

[隐藏]

一、Mysql主库宕机情况分类:

二、硬件问题处理思路

三、MySQL service问题处理思路

四、所有slave指向新的master

五、另外关于ECS无法使用 MHA 说法问题解释

在我们日常工作场景,首先要做到架构无单点隐患,其次在优化【安全、性能、高可用、高并发等】,Mysql这款关系型数据库稳定、高效,所以使用广泛,如果企业架构是1主多从,那如果Mysql主库宕机,如何解决?

MySQL 主从同步原理图

763606c0d989d7e1ff6e9c770460bc4a.png

一、Mysql主库宕机情况分类:

1)硬件问题,(服务器、ecs、虚拟主机等等)宕机

2)service问题,Mysql宕机,服务异常,端口异常等

二、硬件问题处理思路

硬件问题我们可以查看IDC巡检记录,或通过远程控制卡查看硬件运行状态,根据事实情况就行硬件故障报修进行处理,恢复业务步骤:

1)查看报警信息,确认业务是否收到影响,必要时切从库进行数据交互 2)IDC询问排查 3)确认硬件故障,短时间无法修复开Case处理 4)通知部门领导,处理进度,并实时记录 5)事件处理完成后,拟写故障报告,会议通报。

三、MySQL service问题处理思路

1)首先要做的就是判断是否影响业务,是否需要切库,保证业务运行时首要任务

2)如果此时需要切从库,安装如下步骤进行:

1> 先查看MySQL 从库状态 show processlistG ##如果看到两个状态,说明此时的从库和主库是同步的 =====[如果不同步,建议考出binlog进行同步] #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最大的作为主库 或利用半同步的功能,直接选择做实时同步的这个从库。 3> 确保所有relay log全部更新完毕。 stop slave io_thread;show processlist; [在每个从库上执行] ##直到看到has read all relay log;表示从库更新都执行完毕 4> 登录从库 mysql -uroot -p您的密码 -S /data/3306/mysql.sock #sock路径根据自己的进行修改 stop slave; reset master; quit; 5> 进入数据库数据目录,删除master.info relay-log.info cd /data/3306/data/master rm -f master.info relay-log.info ## 检查授权表,类似read-only参数 6> 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

到此,提升主库完毕

四、所有slave指向新的master

7> 如果主库服务器没down,需要去主库拉取bin-log补全提升主库的从库 8> 其它从库操作 【指向新的master】 已检查(同步user rep均存在) 登录从库 stop slave; change master to master_host='192.168.1.32'; //如果不同步,就指定位置点 start slave; show slave statusG;

以上就是关于数据库如何快速回复业务的介绍,如果大家有更好的方法可以告诉我,下面是集中数据库高可用方案:

1. MHA 高可用 http://blog.51cto.com/qiuyt/1930629

2. RDS 高可用+自动容灾 https://www.aliyun.com/product/rds/mysql【借用图】

bfb62b20d1f9bf8f9f9352ffeffe4cfe.png

3. 快照

方法很多,就看您如何选择。

五、另外关于ECS无法使用 MHA 说法问题解释

1、mha必须是0.56版本才支持GTID 2、阿里云ECS不支持浮动IP 阿里云HaVIP禁用 ##要注意:阿里云的上ECS服务器跟我们自己的虚拟机不一样,它不支持浮动IP的 3、阿里云服务器上keepalived只能设置单播 4、keepalived配置文件里加脚本判断mysql是否启动需要首尾写好配置文件

阿里云工单反馈截图

96fce700fb71dedbb48dfd0ebc1f40bf.png

原文出处:51cto -> http://blog.51cto.com/qiuyt/2148881

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值