mysql初始化错误Can't find error-message file '/usr/local/mysql/errmsg.sys'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql初始化错误Can't find error-message file '/usr/local/mysql/errmsg.sys'相关的知识,希望对你有一定的参考价值。
环境:CentOS 7.2
mysql 5.7.18
从mysql官方网站下载rpm包到服务器本地,依次安装下面的RPM包:
mysql-community-common-5.7.18-1.el7.x86_64.rpm
mysql-community-server-5.7.18-1.el7.x86_64.rpm
mysql-community-client-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-5.7.18-1.el7.x86_64.rpm
mysql-community-devel-5.7.18-1.el7.x86_64.rpm
yum安装完成之后,开始初始化:
mysqld --initialize
因为yum安装之后,已经将mysql的配置文件my.cnf配置完成了,所以直接将my.cnf文件拷贝到/etc/下面去了。但是在初始化的过程中查看error日志,发现报错:
[ERROR] Can‘t find error-message file ‘/usr/local/mysql/share/mysql/errmsg.sys‘.
Check error-message file location and ‘lc-messages-dir‘ configuration directive
在官网查询了一番,errmsg.sys日志是有comp_err这个项目生成的,在mysql创建进程的时候就会自动生成,我首先find了一下,但是没有任何的文件信息,在Google之后,根据上面的告警信息在my.cnf里面指定了lc-message-dir参数的值,然后重启,但是error日志还是报错,提示Can‘t find ..... errmsg.sys,然后我touch创建了这个文件,重启之后报错误Can‘t read .....
然后我将这个问题发送到技术群里面询问,有大神告诉我一般初始化的时候出现各种错误主要原因就是因为参数配置错误导致的,所以建议我应该慢慢的根据my.cnf里面的配置参数进行排除。
后续我发现,在一开始的时候日志报错是:
[ERROR] Can‘t find error-message file ‘/usr/local/mysql/share/mysql/errmsg.sys‘.
这个时候我就在想这个share/mysql这俩个目录是怎么来的,因为我参数里面指定的basedir和datadir都包含着俩个子目录,但是我确定这个文件还是和basedir有关系的,因为我basedir指定的是/usr/local/mysql/;后面突然想到了basedir指定是数据库的bin,lib之列的文件,但是我因为是yum安装的,所有这些文件默认的路径是在/usr/share/mysql下面,所以basedir这个参数可以并不需要指定,或者直接指定到/usr/share/mysql/这个目录下面。
之后我在my.cnf做了更改:
#basedir=/usr/local/mysql 将basedir注释掉,然后重新初始化或者重启mysqld。
果然日志没有这个报错了。
至于指定basedir=/usr/share/mysql已经验证,指定的话还是会报错。
[ERROR] Can‘t find error-message file ‘/usr/share/mysql/share/mysql/errmsg.sys‘. Check error-message file location and ‘lc-messages-dir‘ configuration directive
以上是关于mysql初始化错误Can't find error-message file '/usr/local/mysql/errmsg.sys'的主要内容,如果未能解决你的问题,请参考以下文章
mariadb 二进制启动报错,Can't find messagefile '/usr/local/mysql/share/mysql/errmsg.sys'
2019-08-18 Pycharm的运行错误can't find '__main__' module
数据库迁移后报错提示MySQL Error:Can''t find file errno: 13 - Permission denied的解决方法
源码安装mysql5.6x启动报错:[ERROR] Can't find messagefile '/data/mysqldata/3306/english/errmsg.sys
Mycat查询时出现:Error Code: 1064. can't find any valid datanode
ionic3 在ios9.0 系统下 会出现ReferenceError:Can't find variable:Intl 错误提示