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,您的数据是安全的。

相关推荐
XDHCOM12 小时前
ORA-32484重复列名错误,ORACLE数据库CYCLE子句故障修复与远程处理方案
数据库·oracle
翻斗包菜12 小时前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
呆瑜nuage13 小时前
MySQL表约束详解:8大核心约束实战指南
数据库·mysql
liliangcsdn13 小时前
Agent Memory智能体记忆系统的示例分析
数据库·人工智能·全文检索
那个失眠的夜13 小时前
Mybatis延迟加载策略
xml·java·数据库·maven·mybatis
Rick199313 小时前
SQL 执行流程
数据库·sql
M--Y13 小时前
Redis常用数据类型
数据结构·数据库·redis
元宝骑士13 小时前
FIND_IN_SET使用指南:场景、优缺点与MySQL优化策略
后端·mysql
猿小喵14 小时前
MySQL慢查询分析与处理-第二篇
数据库·mysql·性能优化
Y0011123614 小时前
MySQL-进阶
开发语言·数据库·sql·mysql