1. MySQL5.7.21启动时报错:html
[ERROR] Can't find error-message file '/data/mysql/3307/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.mysql
2. 登陆MySQL查看系统全局参数:sql
mysql> show global variables like '%messages%';
+-----------------+-----------------------+
| Variable_name | Value |
+-----------------+-----------------------+
| lc_messages | en_US |
| lc_messages_dir | /data/mysql/share/ |
+-----------------+-----------------------+socket
3. 而后发现lc_messages_dir的目录在/data/mysql/share/, 而后到系统层面查看spa
[root@Master mysql]# ll
total 4
drwxr-xr-x 6 mysql mysql 4096 Aug 31 11:47 3307htm
4. 从系统相应路径下并无发现share目录,而后仍是在系统层面找errmsg.sys文件blog
[root@Master mysql]# find / -name errmsg.sysit
/opt/mysql3307/share/serbian/errmsg.sys
/opt/mysql3307/share/dutch/errmsg.sys
/opt/mysql3307/share/russian/errmsg.sys
/opt/mysql3307/share/swedish/errmsg.sys
/opt/mysql3307/share/portuguese/errmsg.sys
/opt/mysql3307/share/english/errmsg.sys
/opt/mysql3307/share/italian/errmsg.sys
/opt/mysql3307/share/czech/errmsg.sys
/opt/mysql3307/share/ukrainian/errmsg.sys
/opt/mysql3307/share/estonian/errmsg.sys
/opt/mysql3307/share/norwegian-ny/errmsg.sys
/opt/mysql3307/share/korean/errmsg.sys
/opt/mysql3307/share/french/errmsg.sys
/opt/mysql3307/share/spanish/errmsg.sys
/opt/mysql3307/share/hungarian/errmsg.sys
/opt/mysql3307/share/greek/errmsg.sys
/opt/mysql3307/share/german/errmsg.sys
/opt/mysql3307/share/polish/errmsg.sys
/opt/mysql3307/share/japanese/errmsg.sys
/opt/mysql3307/share/romanian/errmsg.sys
/opt/mysql3307/share/norwegian/errmsg.sys
/opt/mysql3307/share/bulgarian/errmsg.sys
/opt/mysql3307/share/slovak/errmsg.sys
/opt/mysql3307/share/danish/errmsg.sysio
5. 查询了下mygtid.cnf当中并无设定此参数,而后就把lc-messages-dir加入到mygtid.cnf当中ast
[root@Master mysql]# cat /data/mysql/3307/conf/mygtid.cnf
[mysqld]
##########basic settings###################
port = 3307
bind-address = 0.0.0.0
basedir = /data/mysql/3307
datadir = /data/mysql/3307/data
socket = /data/mysql/3307/mysql.sock
lc-messages = en_US
lc-messages-dir = /opt/mysql3307/share
6. 关闭MySQL实例(由于lc-messages-dir系统参数只能在实例启动的时候修改;lc-messages是动态参数可在线调整)
[root@Master mysql]# /opt/mysql3307/bin/mysqladmin -uroot -p -S /data/mysql/3307/mysql.sock shutdown
7. 从新启动MySQL实例
[root@DCSDR213 mysql]# /opt/mysql3307/bin/mysqld --defaults-file=/data/mysql/3307/conf/mygtid.cnf &
8. 查看lc-messages-dir参数
9. 此时error.log当中没有发现报错了
参考:
https://dev.mysql.com/doc/refman/5.7/en/error-message-language.html