mysql5.7在centos环境下的常见故障

1. GPG Keys升级导致安装失败

错误信息:

复制代码
The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.

 Failing package is: mysql-community-server-5.7.43-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

解决方案:

复制代码
重新导入GPG Keys.
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

2. 服务器重启导致mysql的部分数据文件损坏

错误信息:

复制代码
[ERROR] InnoDB: Trying to access page number 4294967295 in space 0, space name innodb_system, which is outside the tablespace bounds. Byte offset 0, len 16384, i/o type read. I
f you get this error at mysqld startup, please check that your my.cnf matches the ibdata files that you have in the MySQL server.

故障分析:

由于部分数据文件损害,导致mysql在启动过程之中,会检查一些部分内容失败,导致mysql服务启动失败。

复制代码
/etc/my.cnf 加入 innodb_force_recovery=X 行

X为0-6数字
0正常运行mysql
1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。
2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。
4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。
5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。


当设置innodb_force_recovery参数值大于0后,可以对表进行select,create,drop操作,但insert,update或者delete这类操作

解决方案:

  1. 设置mysql启动时候的恢复引导级别。跳过部分内容的加载和校验,启动mysql服务;

  2. copy出数据库中的数据;

  3. 重置mysql服务器(重新实例化)

  4. 重新设置mysql引导设置级别。

  5. 用第二步备份的数据,来恢复;

相关推荐
阿龙的工作记录3 分钟前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录
代码村新手17 分钟前
Linux的基本指令
linux·运维·服务器
MonolithIoT1 小时前
实战方案|设备备件无人值守仓库:连续化产线运维备件 7×24 小时数字化管控方案
运维·网络·数据库
gwf2162 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
AAA@峥2 小时前
CentOS7 源码编译安装 MySQL5.7|SQL 基础操作 + 备份恢复完整实战
运维·数据库·sql·centos
撩得Android一次心动2 小时前
Linux编程笔记3【个人用】
linux·笔记
OpenPomeloxCommunity2 小时前
3. Linux 同步机制之 spinlock 设计与实现(一):通用层
linux
念恒123063 小时前
网络基础
linux·网络·c++
Ai_easygo3 小时前
自动化客服Agent实战:用LangGraph+RAG+MCP把80%工单交给AI(从设计到部署)
运维·人工智能·自动化
皮卡狮4 小时前
Linux静态库和动态库详解
linux