mysql 啟報錯報 The server quit without updating PID file


出現這種問題,mysql 啟報錯報:The server quit without updating PID file,

主要解決思路是看mysql錯誤日志。

1、第一步 在配置文件添加error log

vi /etc/my.cnf

然后在配置文件中添加error log 如下:

[mysqld_safe]
log-error = /var/run/mysqld/logs/error.log

2、創建error log 目錄與文件

創建目錄:

mkdir  /var/run/mysqld/logs

創建error.log文件:

touch  /var/run/mysqld/logs/error.log

對目錄和文件授權

chown -R mysql:mysql  /usr/run/mysqld

chmod -R 755 /usr/run/mysqld

3、啟動mysql 服務器:

service mysqld  start

4、接着查看error log信息

cat  /var/run/mysqld/logs/error.log

最后再根據錯誤信息去解決問題。

PS: 如果error.log 沒有寫入錯誤信息,可能是error.log 不存在或者沒對目錄與文件授權,就操作上面第二個步驟所說的命令即可

其實解決問題與錯誤,要根據對應的錯誤信息去解決錯誤,需要對症下葯,所以需要查看mysql的error.log 信息

下面列羅可能錯誤問題及解決方法:

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



刪除了些沒用的日志后,重新啟動數據庫還是出錯。

 

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在啟動時沒有指定配置文件時會使用vi /etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。

解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data

5、skip-federated字段問題

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

6、錯誤日志目錄不存在

解決方法:創建目錄與文件,使用“chown” “chmod”命令賦予mysql所有者及權限

錯誤日志目錄可通過vi /etc/my.cnf 看配置文件錯誤日志目錄與文件,如下:

[mysqld_safe]
log-error = /var/run/mysqld/logs/error.log

創建目錄:

mkdir  /var/run/mysqld/logs

創建文件:

touch  /var/run/mysqld/logs/error.log

對目錄與文件授權:

chown -R mysql:mysql  /usr/run/mysqld

chmod -R 755 /usr/run/mysqld

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

 

8、

chown  -R  mysql.mysql   /tmp

PS:查看MySQL運行與錯誤日志

下面介紹mysql幾個基本命名:

1、啟動mysql 

mysql 5.0 版本:

service mysqld start

mysql 5.7 版本:

service mysql start

2、停止mysql

mysql 5.0 版本:

service mysqld stop

mysql 5.7 版本:

service mysql stop

3、重新啟動mysql

mysql 5.0 版本:

service mysqld restart

mysql 5.7 版本:

service mysql restart

4、查看mysql 狀態

mysql 5.0 版本:

service mysqld status

mysql 5.7 版本:

service mysql status

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM