1. 程式人生 > >MySQL提示:The server quit without updating PID file問題的解決辦法

MySQL提示:The server quit without updating PID file問題的解決辦法

刪除 沒有 關閉 file title 錯誤日誌 可能 service 重新啟動

轉 http://www.jb51.net/article/48625.htm

今天網站web頁面提交內容到數據庫,發現出錯了,一直提交不了,數找了下原因,發現數據寫不進去!第一反應,重啟mysql數據庫,一直執行中,停止不了也啟動不了,直覺告訴我磁盤滿了 !

用df命令查了下,果然磁盤滿了,因為當時分區采用系統默認,不知道為什麽不能自動擴容!以後在處理這個問題!如圖所示:

復制代碼代碼如下: [[email protected] ~]# df
文件系統 1K-塊 已用 可用 已用% 掛載點
/dev/mapper/vg_snsgou-lv_root
51606140 47734848 1249852 100% /
tmpfs 1953396 88 1953308 1% /dev/shm
/dev/sda1 495844 37062 433182 8% /boot
/dev/mapper/vg_snsgou-lv_home
229694676 191796 217835016 1% /home
[[email protected]
/* */ ~]#
刪除了些沒用的日誌後,重新啟動數據庫還是出錯。
復制代碼代碼如下: [[email protected] mysql]# service mysql restart
MySQL server PID file could not be found![失敗]
Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/snsgou.pid).[失敗]


Google了下 ,問題可能的原因有多種,具體什麽原因最好的辦法是先查看下錯誤日誌:
1、可能是/usr/local/mysql/data/mysql.pid文件沒有寫的權限
解決方法 :給予權限,執行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然後重新啟動mysqld!

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

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

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後存盤退出重啟機器試試。

MySQL提示:The server quit without updating PID file問題的解決辦法