MySQL啟動報錯:The server quit without updating PID file

獵手家園發表於2022-10-13

先看這裡:很有可能是你的硬碟滿了,如果沒滿再看下面。

 

1、目錄許可權問題
對mysql的安裝目錄和資料目錄分別進行授權

# chown -R mysql.mysql /usr/local/mysql
# chown -R mysql.mysql /data/mysql
# service mysqld start

 

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、可能是/usr/local/mysql/data/mysql.pid檔案沒有寫的許可權
解決方法 :給予許可權,執行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然後重新啟動mysqld!

 

6、selinux惹的禍,如果是centos系統,預設會開啟selinux
解決方法:關閉它,開啟/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled後存檔退出重啟機器試試

 

7、刪除mysql庫檔案/data/mysql/中的“ib_*”檔案,注意:** 執行該操作之前一定要對資料庫進行備份,因為ibdata1存放的是所有資料檔案,如果不小心刪了庫,那就慘了!!!(傳說中的從刪庫到跑路。。。),然後重啟mysql。

 

8、檢視日誌有如下錯誤提示:Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed。
解決辦法:

[root@localhost mysql]# rm -rf ib_logfile*

然後啟動mysql,問題解決!

 

9、看日誌有這樣的字樣“initialize buffer pool,size=128.0M”,“cannot allocate memory for the pool”,大概意思是說無法分配足夠的記憶體供pool使用。此時想到mysql配置檔案中有相關的配置,於是更改如下引數:

#配置檔案中該值預設為128M
innodb_buffer_pool_size = 128

將這個值調小,再次啟動mysql服務,問題解決!

 

10、系統上缺少mysql的依賴檔案

# yum -y install libaio 
# yum -y install numactl

 

重新啟動mysql服務,問題解決

相關文章