mysql啓動時報錯:ERROR! The server quit without updating PID file (/data/mysql/localhost_002.pid).

mysql啓動時報以下錯誤:ERROR! The server quit without updating PID file (/data/mysql/localhost_002.pid).mysql

[root@localhost_002 mysql]# /etc/init.d/mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/localhost_002.pid).

查看錯誤日記時發現好多IonoDB的錯誤:linux

在百度上搜索到的結果及排查步驟以下:sql

一、多是進程已經存在了mysql的進程:發現沒有這個進程:數據庫

解決方法:用ps   aux |grep msyql 查看,而且用kill -9 殺死,而後重啓mysql;vim

[root@localhost_002 ~]# ps aux |grep mysqld
root       1176  0.0  0.0 112720   972 pts/0    S+   22:07   0:00 grep --color=auto mysqld

二、多是mysql的數據庫目錄所屬主和組不是mysql,或者是沒有執行權限;修改後仍是不行;bash

[root@localhost_002 mysql]# chown -R mysql:mysql /data/mysql/
[root@localhost_002 mysql]# chmod -R 755 /data/mysql/
[root@localhost_002 mysql]# /etc/init.d/mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/localhost_002.pid).

三、多是第二次在機器上安裝mysql,有殘餘數據影響了服務的啓動;本機不存在這種類型的文件;
解決方法:去mysql的數據目錄/data/mysql/看看,若是存在mysql-bin.index,就趕快把它刪除掉;socket

四、mysql在啓動時沒有指定datadir:配置文件:/etc/my.cnfui

[root@localhost_002 mysql]# vim /etc/my.cnf
datadir=/data/mysql
socket=/tmp/mysql.sock
[root@localhost_002 mysql]# service mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/localhost_002.pid).

五、skip-federated字段問題;仍是不行:
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被註釋掉的skip-federated字段,若是有就當即註釋掉;spa

六、selinux的問題:關閉它;code

[root@localhost_002 mysql]# getenforce
Disabled
[root@localhost_002 ~]# service mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/localhost_002.pid).

無果,再次查看日記以下:

2018-10-04 22:19:59 2510 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2018-10-04 22:19:59 2510 [Note] InnoDB: Completed initialization of buffer pool
2018-10-04 22:19:59 2510 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2018-10-04 22:19:59 2510 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2018-10-04 22:19:59 2510 [Note] InnoDB: Database physically writes the file full: wait...
2018-10-04 22:19:59 2510 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2018-10-04 22:20:00 2510 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2018-10-04 22:20:02 2510 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2018-10-04 22:20:02 2510 [Warning] InnoDB: New log files created, LSN=45781
2018-10-04 22:20:02 2510 [Note] InnoDB: Doublewrite buffer not found: creating new
2018-10-04 22:20:02 2510 [Note] InnoDB: Doublewrite buffer created
2018-10-04 22:20:02 2510 [Note] InnoDB: 128 rollback segment(s) are active.

看到有關./ib_logfie101的文件:進入到mysql的數據庫目錄下,刪除這些ib開頭文件(刪除前建議先備份下,否則數據會丟失);

[root@localhost_002 ~]# cd /data/mysql/
[root@localhost_002 mysql]# ls
 aria_log_control  ib_buffer_pool  ib_logfile0  ib_logfile101      multi-master.info  performance_schema aria_log.00000001  auto.cnf          ibdata1         ib_logfile1  localhost_002.err  mysql              test
[root@localhost_002 mysql]# rm -fr ib\_*
[root@localhost_002 mysql]# rm -fr ibdata*
[root@localhost_002 mysql]# /etc/init.d/mysqld start
Starting MySQL.... SUCCESS!

此時發現能夠正常啓動了:

查看下相關進程:    ps   aux |grep msyqld

[root@localhost_002 mysql]# ps aux |grep mysqld
root       2359  0.0  0.1 113308  1632 pts/0    S    22:19   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost_002.pid
mysql      2510  0.0 46.2 1305940 462072 pts/0  Sl   22:19   0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost_002.err --pid-file=/data/mysql/localhost_002.pid --socket=/tmp/mysql.sock
root       2558  0.0  0.0 112720   972 pts/0    S+   22:49   0:00 grep --color=auto mysqld
相關文章
相關標籤/搜索