[ERROR] Can't find error-message file '/data/mysql/share/errmsg.sys'. Check error-mes...

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

相關文章
相關標籤/搜索