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