mysql初始化失败Can‘t find error-message file‘/usr/share/mysql/errmsg.sys

errmsg.sys 是 MySQL 数据库的一个错误信息文件。它是一个二进制文件,存储了 MySQL 服务器可能返回的各种错误消息的定义。这个文件通常会在 MySQL 的安装目录中找到。

errmsg.sys 的作用

  1. 错误消息存储

    • MySQL 在运行过程中遇到错误时,会查找 errmsg.sys 文件以获取对应错误码的详细描述。
    • 这些错误消息会以不同语言的形式存储在 errmsg.sys 中,以支持多语言的错误消息显示。
  2. 本地化支持

    • errmsg.sys 文件支持多语言环境,根据 MySQL 的配置,错误消息可以以用户所需的语言显示。

errmsg.sys 文件位置

errmsg

.sys 文件通常位于 MySQL 安装目录下的 share 子目录中。例如:

  • Linux:/usr/share/mysql/<language>/errmsg.sys
  • Windows:C:\Program Files\MySQL\MySQL Server <version>\share\<language>\errmsg.sys

其中 <language> 是错误消息文件的语言版本,比如 english 或其他语言。

如果 errmsg.sys 文件丢失,MySQL 可能无法正常显示错误消息

解决办法

检查 lc-messages-dir 是否指向正确路径

从 MySQL 的安装包中重新提取缺失的 errmsg.sys 文件。

在安装路径下查找errmsg.sys文件

find /data/ -name errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/bulgarian/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/czech/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/danish/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/dutch/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/english/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/estonian/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/french/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/german/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/greek/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/hungarian/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/italian/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/japanese/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/korean/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/norwegian-ny/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/norwegian/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/polish/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/portuguese/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/romanian/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/russian/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/serbian/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/slovak/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/spanish/errmsg.sys

/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/swedish/errmsg.sys

选择英语版本

根据上面的查找到的errmsg.sys信息,可在my.cnf中配置:
lc-messages-dir=lc-messages-dir=/data/mysql/13306/mysql-5.7.29-linux-glibc2.12-x86_64/share/english/

解决

相关推荐
小白勇闯网安圈41 分钟前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨1 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
ltl2 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
ltl2 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl2 小时前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
麻瓜code4 小时前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql
这个DBA有点耶4 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
一只fish4 小时前
优化器架构对比:Oracle vs PostgreSQL vs MySQL
mysql·postgresql·oracle
安_5 小时前
RAG的向量数据库:为LLM提供语义搜索能力
数据库
喜欢的名字被抢了6 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库