处理普通用户安装启动mysql报:Can't find error-message file'/usr/share/mysql/errmsg.sys' 问题

操作系统:centos7
mysql版本:5.7.29
使用普通用户安装完成以后,启动mysql:
/data/mysql/usr/sbin/mysqld --defaults-file=/data/mysql/etc/my.cnf --user=dongzw &
日志中报:
[ERROR] Can't find error-message file '/usr/share/mysql/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
大概搜索了一下,在my.cnf中添加
basedir=/data/mysql
再启动,报错变成了:
[ERROR] Can't read from messagefile '/data/mysql/share/mysql/errmsg.sys'
注意报错路径改变了,由/usr变成了/data,此时在安装路径下查找errmsg.sys文件:
[dongzw@localhost mysql]$ find /data/ -name errmsg.sys
/data/mysql/usr/share/mysql/bulgarian/errmsg.sys
/data/mysql/usr/share/mysql/czech/errmsg.sys
/data/mysql/usr/share/mysql/danish/errmsg.sys
/data/mysql/usr/share/mysql/dutch/errmsg.sys
/data/mysql/usr/share/mysql/english/errmsg.sys
.....................
看名字,应为各国语言的版本,这里选择english版本,新建并把文件拷到报错路径,当前路径为:/data/mysql
[dongzw@localhost mysql]$ mkdir -p share/mysql
[dongzw@localhost mysql]$ cp /data/mysql/usr/share/mysql/english/errmsg.sys share/mysql/
停止mysql:
/data/mysql/usr/bin/mysqladmin -uroot -proot -S /data/mysql/mysql.sock shutdown
再次启动,只有Warning信息了,问题解决。

解决方式2:
根据上面的查找到的errmsg.sys信息,可在my.cnf中配置:
lc-messages-dir=/data/mysql/usr/share/mysql/english
my.cnf中去掉basedir=/data/mysql
或者在启动命令加上--lc-messages-dir参数也可以解决问题:
/data/mysql/usr/sbin/mysqld --defaults-file=/data/mysql/etc/my.cnf --lc-messages-dir=/data/mysql/usr/share/mysql/english --user=dongzw &


附:安装5.7.29初始化数据库命令:
[dongzw@localhost data]$ /data/mysql/usr/sbin/mysqld --initialize --defaults-file=/data/mysql/etc/my.cnf --user=dongzw
如果报:
[ERROR] unknown variable 'defaults-file=/data/mysql/etc/my.cnf' 
[ERROR] Can't find error-message file '/usr/share/mysql/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
需要把 --initialize放到--defaults-file后面
 /data/mysql/usr/sbin/mysqld  --defaults-file=/data/mysql/etc/my.cnf --initialize --user=dongzw

my.cnf简单配置文件:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[client]
port = 3306
socket = /data/mysql/mysql.sock
default-character-set = utf8

[mysqld]
port = 3306
character-set-server = utf8
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
basedir=/data/mysql
datadir=/data/mysql/data
socket=/data/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/data/mysql/mysqld.log
pid-file=/data/mysql/mysqld.pid
secure-file-priv=/data/mysql/var/lib/mysql-files
explicit_defaults_for_timestamp=true

 

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL中,"Can't find error-message file 'C:\dev\mysql\share\errmsg.sys'"这个错误是由于找不到错误消息文件引起的。根据引用提供的信息,这个错误消息指示MySQL无法找到错误消息文件'errmsg.sys'。可能的原因是错误消息文件的位置不正确或者配置文件中的'lc-messages-dir'指令有问题。 你可以参考引用提供的MySQL官方文档了解更多关于错误消息语言的信息。如果你的错误消息文件确实位于'C:\dev\mysql\share\errmsg.sys',请检查MySQL的配置文件中的'lc-messages-dir'指令,确保它指向正确的错误消息文件的目录。 另外,根据引用提供的附加信息,如果你正在使用特定的命令行选项来初始化MySQL数据库,你需要确保命令行选项的顺序正确。在你的情况下,你可以尝试将--initialize选项放在--defaults-file选项之后,如下所示: /data/mysql/usr/sbin/mysqld --defaults-file=/data/mysql/etc/my.cnf --initialize --user=dongzw 这样,MySQL将会使用指定的配置文件和用户来初始化数据库。 希望这些信息对你有帮助!如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [[ERROR] Can't find error-message file '/data/mysql/share/errmsg.sys'. Check error-message file ...](https://blog.csdn.net/weixin_30440721/article/details/113230024)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [处理普通用户安装启动mysql:Can't find error-message file'/usr/share/mysql/errmsg.sys' 问题](https://blog.csdn.net/ohaozy/article/details/105385479)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值