在使用MySQL時(shí),有時(shí)候我們會(huì)遇到啟動(dòng)MySQL后無(wú)法正常工作的情況。這時(shí)候我們可以通過(guò)查看MySQL啟動(dòng)后顯示的原因來(lái)找到問(wèn)題所在。MySQL啟動(dòng)后,通常會(huì)顯示以下內(nèi)容:
[root@localhost ~]# service mysqld start 啟動(dòng) MySQL:[確定]
這說(shuō)明MySQL已經(jīng)成功啟動(dòng)。如果啟動(dòng)失敗,會(huì)顯示具體的錯(cuò)誤信息,例如:
[root@localhost ~]# service mysqld start 啟動(dòng) MySQL:[失敗]
這時(shí)候我們需要查看MySQL的錯(cuò)誤日志(通常在/var/log/mysqld.log),找到具體的錯(cuò)誤信息。常見(jiàn)的錯(cuò)誤包括:
[ERROR] Can't find messagefile '/usr/share/mysql/errmsg.sys' [ERROR] mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied) [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
其中第一個(gè)錯(cuò)誤是找不到MySQL的錯(cuò)誤信息文件,可以通過(guò)安裝MySQL-devel包解決。第二個(gè)錯(cuò)誤是找不到MySQL的數(shù)據(jù)文件,通常是由于權(quán)限不足導(dǎo)致的,可以通過(guò)修改數(shù)據(jù)文件的權(quán)限或修改my.cnf配置文件中datadir參數(shù)來(lái)解決。第三個(gè)錯(cuò)誤是找不到MySQL的權(quán)限表,可以通過(guò)運(yùn)行mysql_install_db命令來(lái)初始化權(quán)限表。
除了錯(cuò)誤信息外,MySQL啟動(dòng)后還會(huì)顯示一些其他的信息,例如:
Initializing MySQL database: [確定] Installing MySQL system tables... OK Filling in MySQL system tables with data... OK MySQL安裝時(shí)通常會(huì)進(jìn)行初始化,這些信息顯示MySQL正在進(jìn)行初始化操作。綜上所述,通過(guò)查看MySQL啟動(dòng)后顯示的原因,我們可以找到MySQL啟動(dòng)失敗的原因,并進(jìn)行相應(yīng)的修復(fù)。