mysql系统级文件损坏修复

今天生成上的mysql突然报ERROR Can't find messagefile '/usr/share/errmsg.sys' 可能系统文件有损坏,进行排查后文件内容正常、权限正常、配置正常,最终使用重装mysql-community-common进行恢复

详细说明:

sudo yum reinstall mysql-community-common 只是重新安装 MySQL 的公共文件包,不会影响您的 MySQL 数据库数据

哪些文件会被覆盖:

bash 复制代码
# mysql-community-common 包包含的主要是共享文件:
- /usr/share/mysql/*                  # 共享文件
- /usr/share/errmsg.sys               # 错误消息文件
- /usr/share/mysql/charsets/          # 字符集文件
- /usr/share/mysql/english/           # 英语错误消息
- 配置文件模板
- 系统服务文件

哪些文件不会被影响:

bash 复制代码
# 不会被覆盖的文件:
- /var/lib/mysql/*                     # 数据文件(最重要!)
- /etc/my.cnf                          # 主配置文件
- /etc/my.cnf.d/*                      # 配置片段
- 现有的数据库文件
- 用户账户和权限
- 日志文件(除了可能的重置权限)

安全操作建议:

1. 先备份以防万一(良好习惯)

bash 复制代码
# 备份MySQL配置
sudo cp -r /etc/my.cnf /etc/my.cnf.backup
sudo cp -r /etc/my.cnf.d/ /etc/my.cnf.d.backup/

# 检查数据目录位置
mysql -e "SHOW VARIABLES LIKE 'datadir';"
# 数据通常在 /var/lib/mysql

2. 重新安装命令

bash 复制代码
# 重新安装common包
sudo yum reinstall mysql-community-common

# 如果需要,也可以重新安装客户端和服务器(如果需要修复其他问题)
# sudo yum reinstall mysql-community-server mysql-community-client

3. 重新安装后的操作

bash 复制代码
# 重启MySQL服务
sudo systemctl restart mysqld

# 检查服务状态
sudo systemctl status mysqld

# 验证数据是否还在
mysql -e "SHOW DATABASES;"

您的具体情况判断:

您的错误是找不到 errmsg.sys 文件,重新安装 mysql-community-common最合适的解决方案,因为:

  1. 这个包专门包含这个文件
  2. 不会影响数据库数据
  3. 会保留现有配置
  4. 是最官方的修复方式

建议操作步骤:

bash 复制代码
# 1. 停止MySQL服务(可选,但建议)
sudo systemctl stop mysqld

# 2. 重新安装common包
sudo yum reinstall mysql-community-common

# 3. 启动MySQL服务
sudo systemctl start mysqld

# 4. 验证问题是否解决
sudo tail -f /var/log/mysqld.log

注意: 如果您的MySQL是通过其他方式安装的(如源码编译、docker等),重新安装yum包可能不会解决问题。请先确认安装方式:

bash 复制代码
# 查看MySQL安装来源
rpm -qa | grep mysql
# 或
which mysqld

总的来说,可以放心执行 sudo yum reinstall mysql-community-common,您的数据是安全的。

相关推荐
名字还没想好☜7 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
ltl8 小时前
Serverless 数据库弹性理论:Neon 与 Aurora Serverless v2
数据库
Dxy12393102169 小时前
Python 如何使用 MySQL 的事务
python·mysql
marvelyu12 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
ZCBUS实时计算12 小时前
金融证券实时数仓建设实践:轻量化实时计算平台落地,实现交易数据端到端秒级处理
大数据·数据库·数据仓库·金融·flink·dba·etl
zd20057213 小时前
海洋微生物数据库
数据库·宏基因组
海上小飞龙13 小时前
Redis 分布式锁原理:从 SET NX EX 到 Redisson 看门狗
数据库·redis·分布式
xiaoye-duck13 小时前
MySQL 表约束全解:从基础约束到外键关联规则
数据库·mysql
Hammer_Hans14 小时前
DFT笔记98
java·开发语言·数据库
迪康Defender14 小时前
从静态存储到动态流转:终端透明加密两种模式实战解析
运维·服务器·网络·数据库·其他