服务器意外断电MySQL无法启动

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 服务器意外断电MySQL无法启动
+关注继续查看

1.背景

客户反映无法登录系统。再三询问之下,客户说出一个情况:服务器因信息中心人为原因,最近总是意外断电。what?服务器这么儿戏吗?这么不安全吗?不管什么情况,先去现场检查一番。

2.尝试过程

1.登录服务器启动服务。2.检查服务运行状态,发现 MySQL 容器一直处于尝试重启状态。3.检查 docker 日志,筛选 MySQL 容器报错部分。4.提示:数据库由于非正常情况关闭,正在尝试恢复,重新启动。然后一直处于启动报错关闭、启动报错关闭......5.先检查 SQL 备份文件是否正常,虽然有,但是文件大小明显不对,完蛋。。只能寄希望于断电那一刻的数据恢复了。6.在 MySQL 的配置文件中有一项配置项 【innodb_force_recovery】代表强制恢复,它的值从1-6效果不断加强。越强,数据损坏的可能性越大,但是数据库正常启动的概率也越大。因此不能一上来就加足马力,最好是逐级递增尝试。7.在设置为 4 时,容器终于正常启动。但此时并不代表正常,因为此时数据库所有表的状态为锁定只读状态。我们只需要将此时的数据导出备份即可。8.导出最后一刻数据库后,将其导入到另一备用数据库中,恢复数据接入系统正常使用。

以上步骤是事后梳理而成,其实真实解决过程中问题不断,sql 导出文件无法使用,数据库问题,服务器问题,各种小问题不断。但是为了突出问题本身,不能将其他不相干的问题一一记录,否则会干扰大家问题解决。

3.解决

1.在配置文件/etc/mysql/my.cnf中添加如下语句


[mysqld]
innodb_force_recovery = 4

innodb_force_recovery参数的值从 1-6 依次尝试,恢复等级越来越强。

1.重新启动 mysql 之后表都是只读状态,此时可以备份数据库2.将备份文件导入到新的数据库中

4.后记

生产环境所有操作必须三思而后行,在重大的压力、各种状况不断的情况下,很难保持一个清醒的头脑,不要自乱阵脚,让问题更复杂。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
SQL 关系型数据库 MySQL
Mysql服务器线上配置主从同步
Mysql服务器线上配置主从同步
|
17天前
|
安全 关系型数据库 MySQL
mysql服务器hang死的原因
mysql服务器hang死的原因
|
3月前
|
关系型数据库 MySQL
3.3.2 【MySQL】客户端和服务器通信中的字符集
3.3.2 【MySQL】客户端和服务器通信中的字符集
27 0
|
3月前
|
关系型数据库 MySQL 数据库
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
158 0
|
4月前
|
关系型数据库 MySQL Linux
centos服务器下面安装mysql
centos服务器下面安装mysql
65 0
|
4月前
|
缓存 Ubuntu 关系型数据库
在 Ubuntu 中如何完全卸载 MySQL 服务器?
在 Ubuntu 中如何完全卸载 MySQL 服务器?
68 1
|
4月前
|
关系型数据库 MySQL 数据库
MySQL “ 服务器无法启动,没有报任何错误 ”的解决方法
MySQL “ 服务器无法启动,没有报任何错误 ”的解决方法
MySQL “ 服务器无法启动,没有报任何错误 ”的解决方法
|
4月前
|
开发工具
VIM一些常用命令(一)
VIM一些常用命令(一)
|
5月前
|
关系型数据库 MySQL
创建mysql账户且指定服务器访问
创建mysql账户且指定服务器访问
|
5月前
|
关系型数据库 MySQL PHP
PHP MySQL连接服务器
PHP MySQL连接服务器
推荐文章
更多