伺服器症狀:
今天網站web頁面提交內容到資料庫,發現出錯了,一直提交不了,數找了下原因,發現資料寫不進去!第一反應,重啟mysql資料庫,一直執行中,停止不了也啟動不了,直覺告訴我磁碟滿了 !用df命令查了下,果然磁碟滿了,因為當時分割槽採用系統預設,不知道為什麼不能自動擴容!以後在處理這個問題!如圖所示:
[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=186
[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了下 ,問題可能的原因有多種,具體什麼原因最好的辦法是先檢視下錯誤日誌:
1.可能是/usr/local/mysql/data/rekfan.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,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !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後存檔退出重啟機器試試。