MySQL 啓動報錯File .mysql-bin.index not found (Errcode 13)

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


解決方法仍然是:

1)給MYSQL數據庫數據目錄權限:chown -R mysql:mysql 目錄名稱

2)務必保證MYSQL的進程是已經關閉了的;


另外要注意的地方就是:ib_*, mysql-bin-*, *.err(log文件)以及master-info和relay-info文件都是可以刪除的,相當於重新初始化數據庫的數據,但是前提是:

1)操作前要先關掉MYSQL的進程;

2)刪掉文件後要重新啓動MYSQL,如果有異常,請自行查看日誌找問題,一般都比較好定位和解決。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章