溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql初始化錯(cuò)誤【一】Can't find error-message file '/usr/local/mysql/errmsg.sys'

發(fā)布時(shí)間:2020-07-11 03:31:36 來(lái)源:網(wǎng)絡(luò) 閱讀:49826 作者:liuhuang9496 欄目:MySQL數(shù)據(jù)庫(kù)

環(huán)境:CentOS 7.2

          MySQL 5.7.18

  從mysql官方網(wǎng)站下載rpm包到服務(wù)器本地,依次安裝下面的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安裝完成之后,開(kāi)始初始化:

    mysqld --initialize

因?yàn)閥um安裝之后,已經(jīng)將mysql的配置文件my.cnf配置完成了,所以直接將my.cnf文件拷貝到/etc/下面去了。但是在初始化的過(guò)程中查看error日志,發(fā)現(xiàn)報(bào)錯(cuò):

    [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

    在官網(wǎng)查詢了一番,errmsg.sys日志是有comp_err這個(gè)項(xiàng)目生成的,在mysql創(chuàng)建進(jìn)程的時(shí)候就會(huì)自動(dòng)生成,我首先f(wàn)ind了一下,但是沒(méi)有任何的文件信息,在Google之后,根據(jù)上面的告警信息在my.cnf里面指定了lc-message-dir參數(shù)的值,然后重啟,但是error日志還是報(bào)錯(cuò),提示Can't find ..... errmsg.sys,然后我touch創(chuàng)建了這個(gè)文件,重啟之后報(bào)錯(cuò)誤Can't read .....

    然后我將這個(gè)問(wèn)題發(fā)送到技術(shù)群里面詢問(wèn),有大神告訴我一般初始化的時(shí)候出現(xiàn)各種錯(cuò)誤主要原因就是因?yàn)閰?shù)配置錯(cuò)誤導(dǎo)致的,所以建議我應(yīng)該慢慢的根據(jù)my.cnf里面的配置參數(shù)進(jìn)行排除。

    后續(xù)我發(fā)現(xiàn),在一開(kāi)始的時(shí)候日志報(bào)錯(cuò)是:

    [ERROR] Can't find error-message file '/usr/local/mysql/share/mysql/errmsg.sys'.

    這個(gè)時(shí)候我就在想這個(gè)share/mysql這倆個(gè)目錄是怎么來(lái)的,因?yàn)槲覅?shù)里面指定的basedir和datadir都包含著倆個(gè)子目錄,但是我確定這個(gè)文件還是和basedir有關(guān)系的,因?yàn)槲襜asedir指定的是/usr/local/mysql/;后面突然想到了basedir指定是數(shù)據(jù)庫(kù)的bin,lib之列的文件,但是我因?yàn)槭莥um安裝的,所有這些文件默認(rèn)的路徑是在/usr/share/mysql下面,所以basedir這個(gè)參數(shù)可以并不需要指定,或者直接指定到/usr/share/mysql/這個(gè)目錄下面。

    之后我在my.cnf做了更改:

    #basedir=/usr/local/mysql  將basedir注釋掉,然后重新初始化或者重啟mysqld。

    果然日志沒(méi)有這個(gè)報(bào)錯(cuò)了。

    至于指定basedir=/usr/share/mysql已經(jīng)驗(yàn)證,指定的話還是會(huì)報(bào)錯(cuò)。

    [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號(hào)補(bǔ)充:

    今天二進(jìn)制安裝mysql5.6.36 也出現(xiàn)了這個(gè)錯(cuò)誤,發(fā)現(xiàn)按照上面的方案卻不能解決這個(gè)錯(cuò)誤,然后去google看下mysql 5.6二進(jìn)制安裝的教程,然后發(fā)現(xiàn)基本上都是在把mysql5.6二進(jìn)制壓縮包解壓之后放在/usr/local/mysql,然后mysql_install_db初始化的時(shí)候指定basedir=/usr/local/mysql/,然后我突然想起了basedir的定義,basedir主要是存放mysql初始化和安裝的路徑,由于我的mysql是二進(jìn)制安裝的,所以我猜想我的basedir應(yīng)該是二進(jìn)制壓縮包解壓之后的目錄,在配置文件中我將basedir文件后面的目錄接上我解壓之后目錄的路徑,再重啟之后就沒(méi)有報(bào)錯(cuò)了。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI