天天看點

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

mysql提示:the server quit without updating pid file問題的解決辦法

mysql 5.5 

centos 6.5 

the server quit without updating pid file /opt/mysql/t1.pid

排除思路:

定位是mysql my.cnf裡面出問了。

檢視mysql錯誤日志,主機名.err  可以使用find查找。

160308 11:57:49 mysqld_safe mysqld from pid file /data/mysql/mysql.pid ended

160308 11:59:49 mysqld_safe starting mysqld daemon with databases from /data/mysql

160308 11:59:50 innodb: the innodb memory heap is disabled

160308 11:59:50 innodb: mutexes and rw_locks use gcc atomic builtins

160308 11:59:50 innodb: compressed tables use zlib 1.2.3

160308 11:59:50 innodb: initializing buffer pool, size = 128.0m

160308 11:59:50 innodb: completed initialization of buffer pool

160308 11:59:50 innodb: highest supported file format is barracuda.

160308 11:59:50  innodb: waiting for the background threads to start

160308 11:59:51 innodb: 1.1.8 started; log sequence number 13376526

160308 11:59:51 [error] /usr/local/mysql/bin/mysqld: unknown variable 'enforce-gtid-consistency=true'  #問題處在這裡

160308 11:59:51 [error] aborting

160308 11:59:51  innodb: starting shutdown...

160308 11:59:51  innodb: shutdown completed; log sequence number 13376526

160308 11:59:51 [note] /usr/local/mysql/bin/mysqld: shutdown complete

160308 11:59:51 mysqld_safe mysqld from pid file /data/mysql/mysql.pid ended

vim   /etc/my.cnf

禁用參數:

#enforce-gtid-consistency=true

#禁用 git-id=on

service mysqld start 

問題解決。

警告:

以後再也不要複制粘貼以下這種垃圾資訊,一點生産力都沒有。根本不能解決問題,複制都嫌占我的空間。

以後保證是一定解決了問題的才發上來。以下浪費你時間了,請多見諒!

告警:

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

[root@snsgou ~]# 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

[root@snsgou ~]#

删除了些沒用的日志後,重新啟動資料庫還是出錯。

[root@snsgou 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後存盤退出重新開機機器試試。

繼續閱讀