mysql初始化错误【一】Can't find error-message file '/usr/local/mysql/errmsg.sys'
admin
2023-05-18 10:02:12
0

环境: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


    20170724号补充:

    今天二进制安装mysql5.6.36 也出现了这个错误,发现按照上面的方案却不能解决这个错误,然后去google看下mysql 5.6二进制安装的教程,然后发现基本上都是在把mysql5.6二进制压缩包解压之后放在/usr/local/mysql,然后mysql_install_db初始化的时候指定basedir=/usr/local/mysql/,然后我突然想起了basedir的定义,basedir主要是存放mysql初始化和安装的路径,由于我的mysql是二进制安装的,所以我猜想我的basedir应该是二进制压缩包解压之后的目录,在配置文件中我将basedir文件后面的目录接上我解压之后目录的路径,再重启之后就没有报错了。

相关内容

热门资讯

浙江宣传评文艺圈“塌房”:人品... 近几年来,文艺圈人品“塌房”事件屡有发生,从言行失范、私德有亏到违法犯罪,当创作者的德行有了污点,其...
伊朗看到了美国的3个软肋 全世界现在哭笑不得。刚扬言要狠狠打击伊朗,打击伊朗的能源基础设施,甚至感觉迫在眉睫、必须要打、不打不...
接连反转!特朗普透露三个信息 特朗普称美伊3日将举行谈判。美国总统特朗普当地时间8月2日,美国总统特朗普谈及伊朗时称,关于霍尔木兹...
河南深夜通报:查实作弊 针对近期备受关注的2026年河南省“三支一扶”计划招募相关舆情,河南省“三支一扶”领导小组协调办公室...
高通机器人演示翻车,DeepM... 人形机器人领域正呈现出截然不同的两面性。一端是高通(Qualcomm)机器人的尴尬演示:在展示搭载最...
小米多款主力手机涨价,店员:很... 8月2日,小米商城显示,多款手机主力机型价格上调300元至500元不等。其中,REDMI Turbo...
主持人陈璇采访《奥德赛》主创人... 诺兰新片《奥德赛》周四举行北京首映礼,上海外语频道主持人陈璇采访外籍主创人员时半蹲弯腰,背对镜头,向...
初创公司推Arm架构AI服务器... 由前谷歌和Meta工程师于2023年创立的Majestic Labs,近日发布了一款旨在挑战英伟达G...
日元跌跌不休,美国罕见出手,外... 【环球时报驻日本特约记者 王军】在日元跌至近40年来最低水平后,日本政府和日本银行连续出手干预汇市,...
特朗普再提珍珠港事件 据朝日电视台8月3日报道,美国总统特朗普表示,美国政府出手买入日元实施汇率干预,目的是帮扶日本。2日...