linux mysql無法啟動怎麼解決?

solution發表於2021-09-11

linux mysql無法啟動怎麼解決?

當mysql無法啟動出現錯誤時,你需要檢查以下內容:

1、selinux是否已經關閉。

2、如果使用預設的方式安裝,檢視使用者"mysql"是否已建立。

3、mysql配置資訊中的datadir目錄是否已經建立(使用此命令檢視已配置的datadir:mysqld --verbose --help | grep datadir)。

4、datadir目錄的所有者,是否和mysqld_safe命令列選項中的相同(預設為"mysql"使用者)。

錯誤原因分析:

1、在使用RPM包安裝完MySQL-server-xxxx.rpm之後,會看到終端中顯示了上面提到的錯誤,MySQL開啟失敗。此時造成開啟失敗的原因,很有可能是開啟了selinux,關閉selinux(具體方法請google一下),重啟系統,一般情況下,問題可以解決。

2、使用rpm包進行安裝時,會自動建立"mysql"使用者,但是在某些“可信的作業系統”中,root使用者無權新增新使用者,會導致錯誤。此時你可以使用具有新增新使用者許可權的使用者,手動新增"mysql"帳戶,密碼隨意設定。當你只能使用root使用者時,可以在my.cnf(下面會介紹此檔案)中做如下修改:

[mysqld]
user = root   #或者是其他可使用的使用者名稱稱

此處的"root"即為指令碼中呼叫mysqld_safe程式時,命令列中指定的系統使用者。

3、安裝MySQL-server-xxxx.rpm之後,顯示正常開啟,但是修改了my.cnf(原檔案為/usr/share/mysql/中的my-xxxx.cnf檔案,需要選擇合適的檔案複製到/etc/目錄中,並且改名為my.cnf)檔案之後,出現錯誤。

此時錯誤的原因,很有可能是因為你沒有呼叫mysql_install_db函式,此函式負責建立mysql的基本資料庫,如登入使用者的資訊等,以及使用my.cnf對mysql進行配置,如資料庫目錄(datadir),根目錄(basedir)等。在當前系統中,預設datadir為/var/lib/mysql/。

4、使用rpm包安裝時,mysql_install_db函式被預設的呼叫,但是配置資訊也是預設的。當你改寫了my.cnf檔案之後,需要重新呼叫"mysql_install_db --user=mysql"命令,以按照新的配置檔案對資料庫進行配置。

其中的"--user=mysql"選項,使建立的datadir的建立者和所有者為mysql使用者(使用rpm包安裝時,自動建立此使用者)。如果沒有為mysqld_safe指定其他使用者,必須新增此選項。

推薦:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2459/viewspace-2833480/,如需轉載,請註明出處,否則將追究法律責任。

相關文章