當安裝好mysql后,啟動:/etc/init.d/mysql start 卻報了個錯:Starting MySQL..Manager of pid-file quit without updating f[失敗]) 。下面是我對報錯的解決方法總結,我在許多環境下安裝過mysql,由于多種原因會報各種錯誤,現在做個總結以作備查。
一、查看報錯日志
報錯日志是我們解決問題的方向燈,沒有方向燈我們就沒了方向。我有次安裝時報錯日志里就有這樣的錯誤:
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory。很明顯是缺少了庫文件 libstdc++.so.5 。這時我們搜索和libstdc相關的包安裝即可。
二、也許是selinux惹的禍
如果是centos系統,默認會開啟selinux,這個時候可以先關閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機器試試。
三、殘余數據
也有可能是第二次在機器上安裝mysql,有殘余數據影響了服務的啟動,去mysql的數據目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。
四、確定數據目錄的權限
數據目錄一般是
chown -R mysql:mysql /var/data
五、沒有指定數據目錄
mysql在啟動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。如果沒有請在[mysqld]下設置這一行:
datadir = /usr/local/mysql/data
六、還有mysql進程在跑著
如果這是第二次在機器上安裝mysql就極有可能會出現這種情況的,這時系統上很有可能還有mysql進程在運行著??梢詧绦邢铝忻畈榭矗?/p>
ps -ef | grep mysql
如果出現的結果不止一行的就趕快把它kill掉吧。
七、skip-federated字段在作祟
可以檢查一下/etc/my.cnf文件中有沒有沒被注釋掉的skip-federated字段,如果有就立即注釋掉吧。
八、出錯日志目錄不存在
也有可能你現在還不知道mysql的出錯日志在哪里吧?這時你可以執行命令查看:
cd mysql/bin ./mysql_safe
這時一定會報錯的, 并在錯誤中顯示將錯誤寫在某某目錄的某某文件里了,這里檢查一下這個目錄和文件是否存在,在的話就按日志指示解決,如果沒有的話就要創建目錄并修改權限和歸屬了。一般會是/var/lib/mysql/mysql.error,注意mysql.error不用創建的。
cd /var/lib mkdir mysql chmod 777 mysql chown mysql:mysql mysql
這時再試試吧。如果還是不行的話就留言讓大家幫你看看吧……