日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql初始化错误【一】Can't find error-message file '/usr/local/mysql/errmsg.sys'

發布時間:2023/12/10 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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


? ? 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文件后面的目錄接上我解壓之后目錄的路徑,再重啟之后就沒有報錯了。

轉載于:https://blog.51cto.com/11819159/1933718

總結

以上是生活随笔為你收集整理的mysql初始化错误【一】Can't find error-message file '/usr/local/mysql/errmsg.sys'的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。