服務器症狀:
今天網站web頁面提交內容到數據庫,發現出錯了,一直提交不了,數找了下緣由,發現數據寫不進去!第一反應,重啓mysql數據庫,一直執行中,中止不 了也啓動不了,直覺告訴我磁盤滿了 !用df命令查了下,果真磁盤滿了,由於當時分區採用系統默認,不知道爲何不能自動擴容!之後在處理這個問題!如圖所示:mysql
[root@rekfan ~]# df 文件系統 1K-塊 已用 可用 已用% 掛載點 /dev/mapper/vg_rekfan-lv_root 51606140 47734848 1249852 100% / tmpfs 1953396 88 1953308 1% /dev/shm /dev/sda1 495844 37062 433182 8% /boot /dev/mapper/vg_rekfan-lv_home 229694676 191796 217835016 1% /home [root@rekfan ~]# |
刪除了些沒用的日誌後,從新啓動數據庫仍是出錯。http://blog.rekfan.com/?p=186linux
[root@rekfan 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/rekfan.pid).[失敗] |
google了下 ,問題可能的緣由有多種,具體什麼緣由最好的辦法是先查看下錯誤日誌:web
1.多是/usr/local/mysql/data/rekfan.pid文件沒有寫的權限
解決方法 :給予權限,執行 「chown -R mysql:mysql /var/data」 「chmod -R 755 /usr/local/mysql/data」 而後從新啓動mysqld!sql
2.可能進程裏已經存在mysql進程
解決方法:用命令「ps -ef|grep mysqld」查看是否有mysqld進程,若是有使用「kill -9 進程號」殺死,而後從新啓動mysqld!數據庫
3.多是第二次在機器上安裝mysql,有殘餘數據影響了服務的啓動。
解決方法:去mysql的數據目錄/data看看,若是存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !http://blog.rekfan.com/?p=186centos
4.mysql在啓動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。
解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data服務器
5.skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被註釋掉的skip-federated字段,若是有就當即註釋掉吧。app
6.錯誤日誌目錄不存在
解決方法:使用「chown」 「chmod」命令賦予mysql全部者及權限網站
7.selinux惹的禍,若是是centos系統,默認會開啓selinux
解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled後存盤退出重啓機器試試。ui