[解決方法]MySql提示:The server quit without updating PID file(…)失敗

http://blog.rekfan.com/?p=186

服務器症狀:
今天網站web頁面提交內容到數據庫,發現出錯了,一直提交不了,數找了下原因,發現數據寫不進去!第一反應,重啓mysql數據庫,一直執行中,停止不了也啓動不了,直覺告訴我磁盤滿了!用df命令查了下,果然磁盤滿了,因爲當時分區採用系統默認,不知道爲什麼不能自動擴容!以後在處理這個問題!如圖所示:

[root@rekfan~]#df
文件系統1K-塊已用可用已用%掛載點
/dev/mapper/vg_rekfan-lv_root
51606140477348481249852100%/
tmpfs19533968819533081%/dev/shm
/dev/sda1495844370624331828%/boot
/dev/mapper/vg_rekfan-lv_home
2296946761917962178350161%/home
[root@rekfan~]#

刪除了些沒用的日誌後,重新啓動數據庫還是出錯。http://blog.rekfan.com/?p=186

[root@rekfanmysql]#servicemysqlrestart
MySQLserverPIDfilecouldnotbefound![失敗]
StartingMySQL...TheserverquitwithoutupdatingPIDfile(/usr/local/mysql/data/rekfan.pid).[失敗]

google了下,問題可能的原因有多種,具體什麼原因最好的辦法是先查看下錯誤日誌:

1.可能是/usr/local/mysql/data/rekfan.pid文件沒有寫的權限
解決方法:給予權限,執行“chown-Rmysql:mysql/var/data”“chmod-R755/usr/local/mysql/data”然後重新啓動mysqld!

2.可能進程裏已經存在mysql進程
解決方法:用命令“ps-ef|grepmysqld”查看是否有mysqld進程,如果有使用“kill-9進程號”殺死,然後重新啓動mysqld!

3.可能是第二次在機器上安裝mysql,有殘餘數據影響了服務的啓動。
解決方法:去mysql的數據目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的!http://blog.rekfan.com/?p=186

4.mysql在啓動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。
解決方法:請在[mysqld]下設置這一行:datadir=/usr/local/mysql/data

5.skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被註釋掉的skip-federated字段,如果有就立即註釋掉吧。

6.錯誤日誌目錄不存在
解決方法:使用“chown”“chmod”命令賦予mysql所有者及權限

7.selinux惹的禍,如果是centos系統,默認會開啓selinux
解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改爲SELINUX=disabled後存盤退出重啓機器試試。

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