Linux下安裝初始化完MySQL數據庫之後,使用mysqld_safe啟動mysql數據庫,如下發現,啟動失敗
[root@SVNServer bin]# ./mysqld_safe –user=mysql&
或
[root@SVNServer bin]# /etc/init.d/mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/AY14020816093477605eZ.pid).
重啟mysql會拋出上面紅色字體的錯誤。
上面只能看到mysql啟動失敗,具體的原因,需要查看數據庫目錄下的.err文件,查看.err文件,內容如下:
140726 00:18:10 mysqld_safe mysqld from pid file /data/mysql/AY14020816093477605eZ.pid ended
140726 00:31:19 mysqld_safe Starting mysqld daemon with databases from /data/mysql
/usr/local/mysql/bin/mysqld: File ‘./mysql-bin.index' not found (Errcode: 13)
140726 0:31:19 [ERROR] Aborting
140726 0:31:19 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
紅色字標出來的就是這次錯誤報告,errcode13,一般就是權限問題,mysql用戶是否對數據庫目錄內的所有文件具有寫的權限,查看一下權限,修改MySQL目錄的用戶和用戶組權限:
chown -R mysql:mysql /usr/local/mysql
在查看/usr/local/mysql目錄權限,如下圖
發現問題了,果然是權限問題,下面排錯就簡單了,將data目錄的有所者賦給mysql用戶
redhat系統中可以使用 :chown mysql.mysql -R /usr/local/mysql
CentOS系統中可以使用:chown mysql:mysql -R /usr/local/mysql
好了,現在再啟動一下mysql,如下圖,沒有報錯
[root@SVNServer bin]# /etc/init.d/mysqld start
如果仍然報錯,可能就是 /usr/local/mysql 目錄的權限設置問題,設置其權限如下:
chmod 755 /usr/local/mysql
設置後查看權限如下: ll /usr/local/mysql
drwxr-xr-x 9 mysql mysql 12288 7月 26 09:50 mysql
試試,能不能連接,如下圖,OK
一般看下有沒有進程在跑mysql
ps aux |grep mysql
然後kill 掉
再重啟試試
安裝mysql沒有成功,又自動開機啟動mysql,結果無法找到索引文檔mysql-bin.index' ,最後mysql服務停止。
解決方法,可以重新覆蓋安裝mysql,或者在開機啟動文件裡面去掉mysql。以後不再出現錯誤信息。