网站数据库发生故障,无法启动,怎么处理

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

今天,湖北阿里云区域服务商捷讯技术小编为大家分享的主要是一个MySQL数据库服务不能正常启动的故障处理过程,以供大家参考。

一些my.cnf配置参数的修改,修改后,重启数据库,结果报错: 

#servicemysqldstart 

StartingMySQL...TheserverquitwithoutupdatingPIDfile(/data/mysql/v02c09.idc.huobi.com.pid).[FAILED] 

查看错误日志文件: 

#tail-50errors.log 

14082312:03:16mysqld_safemysqldfrompidfile/data/mysql/v02c09.idc.huobi.com.pidended 

14082312:06:16mysqld_safeStartingmysqlddaemonwithdatabasesfrom/data/mysql 

14082312:06:16[Note]Plugin'FEDERATED'isdisabled. 

14082312:06:16InnoDB:TheInnoDBmemoryheapisdisabled 

14082312:06:16InnoDB:Mutexesandrw_locksuseGCCatomicbuiltins 

14082312:06:16InnoDB:Compressedtablesusezlib1.2.3 

14082312:06:16InnoDB:UsingLinuxnativeAIO 

14082312:06:16InnoDB:Initializingbufferpool,size=12.0G 

14082312:06:18InnoDB:Completedinitializationofbufferpool 

14082312:06:18InnoDB:Error:combinedsizeoflogfilesmustbe<4GB 

14082312:06:18[ERROR]Plugin'InnoDB'initfunctionreturnederror. 

14082312:06:18[ERROR]Plugin'InnoDB'registrationasaSTORAGEENGINEfailed. 

14082312:06:18[ERROR]Unknown/unsupportedstorageengine:InnoDB 

14082312:06:18[ERROR]Aborting 

14082312:06:18[Note]/usr/local/mysql/bin/mysqld:Shutdowncomplete 

14082312:06:18mysqld_safemysqldfrompidfile/data/mysql/v02c09.idc.huobi.com.pidended 

通过查询错误日志中“[ERROR]Plugin'InnoDB'initfunctionreturnederror.”一部分,在网络上找到一个解决方案: 

只要删除MySQL目录下的ib_logfile0和ib_logfile1两个文件,就可以解决问题了。 

于是按照这个步骤删除文件: 

#pwd 

/data/mysql 

#ls-lib* 

-rw-rw----1mysqlmysql136314880Aug2312:03ibdata1 

-rw-rw----1mysqlmysql2097152000Aug2312:03ib_logfile0 

-rw-rw----1mysqlmysql134217728Aug2212:11ib_logfile0.bak 

-rw-rw----1mysqlmysql2097152000Aug2212:12ib_logfile1 

-rw-rw----1mysqlmysql134217728Aug2212:01ib_logfile1.bak 

#rmib_logfile0ib_logfile1 

rm:removeregularfile`ib_logfile0'?yes 

rm:removeregularfile`ib_logfile1'?yes 

#ls-lib* 

-rw-rw----1mysqlmysql136314880Aug2312:03ibdata1 

-rw-rw----1mysqlmysql134217728Aug2212:11ib_logfile0.bak 

-rw-rw----1mysqlmysql134217728Aug2212:01ib_logfile1.bak 

日志文件正常移除后,再次重启数据库: 

#servicemysqldstart 

StartingMySQL...TheserverquitwithoutupdatingPIDfile(/data/mysql/v02c09.idc.huobi.com.pid).[FAILED] 

仍然有报错,查看error.log日志文件,内容如下: 

14082312:06:18mysqld_safemysqldfrompidfile/data/mysql/v02c09.idc.huobi.com.pidended 

14082312:19:19mysqld_safeStartingmysqlddaemonwithdatabasesfrom/data/mysql 

14082312:19:19[Note]Plugin'FEDERATED'isdisabled. 

14082312:19:19InnoDB:TheInnoDBmemoryheapisdisabled 

14082312:19:19InnoDB:Mutexesandrw_locksuseGCCatomicbuiltins 

14082312:19:19InnoDB:Compressedtablesusezlib1.2.3 

14082312:19:19InnoDB:UsingLinuxnativeAIO 

14082312:19:19InnoDB:Initializingbufferpool,size=12.0G 

14082312:19:21InnoDB:Completedinitializationofbufferpool 

14082312:19:21InnoDB:Error:combinedsizeoflogfilesmustbe<4GB 

14082312:19:21[ERROR]Plugin'InnoDB'initfunctionreturnederror. 

14082312:19:21[ERROR]Plugin'InnoDB'registrationasaSTORAGEENGINEfailed. 

14082312:19:21[ERROR]Unknown/unsupportedstorageengine:InnoDB 

14082312:19:21[ERROR]Aborting 

14082312:19:21[Note]/usr/local/mysql/bin/mysqld:Shutdowncomplete 

14082312:19:21mysqld_safemysqldfrompidfile/data/mysql/v02c09.idc.huobi.com.pidended 

查看第一条报错情况"InnoDB:Error:combinedsizeoflogfilesmustbe<4GB",说的是MySQL的InnoDB日志文件总大小必须小于4GB,一般设置为1300G,组数为3,这样总大小为3.9G;但该配置文件中昨天刚设置为2000M,没有设定组数;今天进行了这样的设置: 

innodb_file_per_table 

innodb_data_home_dir=/data/mysql 

innodb_data_file_path=ibdata1:10M:autoextend 

innodb_log_group_home_dir=/data/mysql 

innodb_buffer_pool_size=12G 

innodb_log_file_size=2000M 

innodb_log_buffer_size=8M 

innodb_log_files_in_group=3 

innodb_file_format=Barracuda 

innodb_log的大小为2000M,组数为3,总大小超过4GB,所以会报错。 

将innodb_log_file_size=2000M参数修改为: 

innodb_log_file_size=1300M 

重新启动MySQL数据库服务: 

[root@v02c09mysql]#servicemysqldstart 

StartingMySQL.....................................[OK] 

至此,各方面确认正常。 

通过这个故障处理,可以得到如下结论: 

1.对于MySQL数据库的innodb_log参数的相关修改,需要重启MySQL服务,并将原来的ib_logfile*转移成其他的名称,才能在新服务启动后生效; 

2.对于出现类似“TheserverquitwithoutupdatingPIDfile(/data/mysql/v02c09.idc.huobi.com.pid).”都是体现的msyql服务没有启动成功,一般MySQL不能启动成功的原因都是my.cnf中的配置存在问题,才导致了服务不能正常启动,此时需要立即查找error.log来确认MySQL启动过程和报错信息; 

3.在error.log中可能会有多个报错信息,一般后面的错误就是结果,查找错误原因,要看前面的,尤其要关注第一个出现的错误,如本次故障处理过程中“InnoDB:Error:combinedsizeoflogfilesmustbe<4GB”,虽然没有[ERROR]标记,但是第一个出现故障的问题,也明确了错误的原因; 

4.明确了错误的原因后,有时需要修改my.cnf文件,或者需要重启MySQL数据库服务,这时都要先确认好状态,然后再进行操作; 

5.对于MySQL数据库的常用参数,有些是有限制条件和参数范围的,需要确认好后再设定,否则设定也会无效或报错。 

如果以上方法还不能帮助大家解决网站数据库发生故障的问题,欢迎致电:027-87498031。阿里云湖北授权服务中心提供阿里云服务器购买,云数据库,企业邮箱等产品,帮助用户实现阿里云故障排查,上云实施,环境搭建,数据迁移等区域服务,7*24小时保障安全稳定。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL druid Java
线程池相关故障问题之Druid数据库连接池中,为何需要设置TransactionTimeout
线程池相关故障问题之Druid数据库连接池中,为何需要设置TransactionTimeout
132 0
|
29天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
1月前
|
数据库连接 网络安全 数据库
网站链接数据库失败,重启网站好了
网站链接数据库失败,重启网站好了
|
1月前
|
数据库连接 数据库 数据安全/隐私保护
网站初始化数据库错误
网站初始化数据库错误
|
1月前
|
关系型数据库 MySQL 数据库连接
如何处理WordPress网站提示“建立数据库连接时出错”
如何处理WordPress网站提示“建立数据库连接时出错”
|
1月前
|
数据库连接 网络安全 数据库
数据库网站连接错误怎么办?
数据库网站连接错误怎么办?
|
1月前
|
缓存 网络安全 数据库
数据库网站登录失败怎么办?
数据库网站登录失败怎么办?
|
1月前
|
应用服务中间件 数据库连接 网络安全
网站连接数据库配置错误
网站连接数据库配置错误
|
1月前
|
域名解析 网络协议 关系型数据库
网站打不开数据库错误等常见问题解决方法合集
网站打不开数据库错误等常见问题解决方法合集
|
2月前
|
存储 数据挖掘 数据库
服务器数据恢复—raid磁盘故障导致数据库数据损坏的数据恢复案例
存储中有一组由3块SAS硬盘组建的raid。上层win server操作系统层面划分了3个分区,数据库存放在D分区,备份存放在E分区。 RAID中一块硬盘的指示灯亮红色,D分区无法识别;E分区可识别,但是拷贝文件报错。管理员重启服务器,导致离线的硬盘上线开始同步数据,同步还没有完成就直接强制关机了,之后就没有动过服务器。
下一篇
无影云桌面