CentOS 7下MySQL服務(wù)啟動(dòng)失敗的快速解決方法
今天,啟動(dòng)MySQL服務(wù)器失敗,如下所示:
[root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED]
根據(jù)提示,分別使用systemctl status mysqld.service和journalctl -xe查看服務(wù)啟動(dòng)失敗的原因
[root@spark01 ~]# systemctl status mysqld.service
?.mysqld.service - SYSV: MySQL database server. Loaded: loaded (/etc/rc.d/init.d/mysqld) Active: failed (Result: exit-code) since Wed 2016-01-20 18:26:57 CST; 40s ago Docs: man:systemd-sysv-generator(8) Process: 2979 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=1/FAILURE) Jan 20 18:26:56 spark01 systemd[1]: Starting SYSV: MySQL database server.... Jan 20 18:26:57 spark01 mysqld[2979]: MySQL Daemon failed to start. Jan 20 18:26:57 spark01 mysqld[2979]: Starting mysqld: [FAILED] Jan 20 18:26:57 spark01 systemd[1]: mysqld.service: control process exited, code=exited status=1 Jan 20 18:26:57 spark01 systemd[1]: Failed to start SYSV: MySQL database server.. Jan 20 18:26:57 spark01 systemd[1]: Unit mysqld.service entered failed state. Jan 20 18:26:57 spark01 systemd[1]: mysqld.service failed.
[root@spark01 ~]# journalctl -xe
-- -- Unit session-2.scope has begun starting up. Jan 20 18:26:48 spark01 sshd[2916]: pam_unix(sshd:session): session opened for user spark by (uid=0) Jan 20 18:26:52 spark01 su[2944]: (to root) spark on pts/1 Jan 20 18:26:52 spark01 su[2944]: pam_unix(su-l:session): session opened for user root by spark(uid=1000) Jan 20 18:26:56 spark01 polkitd[909]: Registered Authentication Agent for unix-process:2974:117137 (system bus name :1.25 Jan 20 18:26:56 spark01 systemd[1]: Starting SYSV: MySQL database server.... -- Subject: Unit mysqld.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit mysqld.service has begun starting up. Jan 20 18:26:57 spark01 mysqld[2979]: MySQL Daemon failed to start. Jan 20 18:26:57 spark01 mysqld[2979]: Starting mysqld: [FAILED] Jan 20 18:26:57 spark01 systemd[1]: mysqld.service: control process exited, code=exited status=1 Jan 20 18:26:57 spark01 systemd[1]: Failed to start SYSV: MySQL database server.. -- Subject: Unit mysqld.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit mysqld.service has failed. -- -- The result is failed. Jan 20 18:26:57 spark01 systemd[1]: Unit mysqld.service entered failed state. Jan 20 18:26:57 spark01 systemd[1]: mysqld.service failed. Jan 20 18:26:57 spark01 polkitd[909]: Unregistered Authentication Agent for unix-process:2974:117137 (system bus name :1.
但,可惜的時(shí),這些信息并不能提供服務(wù)啟動(dòng)失敗的真正原因。
這時(shí)候,不妨打開MySQL的告警日志,畢竟,只要MySQL服務(wù)啟動(dòng),告警日志都會(huì)有輸出信息的,果然
2016-01-20T10:00:19.935771Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory) 2016-01-20T10:00:19.935795Z 0 [ERROR] Can't start server: can't create PID file: No such file or directory 160120 18:00:20 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
MySQL服務(wù)在啟動(dòng)的時(shí)候,不能創(chuàng)建pid文件。
在終端看一下該目錄是否存在,果然,不存在。
于是,創(chuàng)建了/var/run/mysqld/目錄,重啟MySQL服務(wù)
[root@spark01 ~]# mkdir -p /var/run/mysqld/
[root@spark01 ~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED]
依舊報(bào)錯(cuò),重新查看告警日志,有以下輸出
2016-01-20T10:28:37.183387Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13 - Permission denied) 2016-01-20T10:28:37.183431Z 0 [ERROR] Can't start server: can't create PID file: Permission denied 160120 18:28:37 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 160120 18:32:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
原來(lái),/var/run/mysqld/的屬主和屬組還是root,mysql并不能在其中創(chuàng)建文件,后修改該目錄的屬主和屬組,啟動(dòng)OK。
[root@spark01 ~]# ls -ld /var/run/mysqld/ drwxr-xr-x 2 root root 40 Jan 20 18:28 /var/run/mysqld/ [root@spark01 ~]# chown mysql.mysql /var/run/mysqld/ [root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): [ OK ]
總結(jié):
以前在玩Kubernetes的時(shí)候,常遇到啟動(dòng)失敗的情況,根據(jù)systemctl的提示,通過(guò)systemctl status mysqld.service和journalctl -xe命令查看服務(wù)啟動(dòng)失敗的原因往往并不如人意,反而給了一種錯(cuò)誤的暗示,以為這個(gè)跟系統(tǒng)有關(guān)。其實(shí),通過(guò)查看服務(wù)的日志,往往更能清晰的知道服務(wù)啟動(dòng)失敗的原因。
以上這篇CentOS 7下MySQL服務(wù)啟動(dòng)失敗的快速解決方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- mysql服務(wù)啟動(dòng)不了解決方案
- MySQL無(wú)法啟動(dòng)幾種常見(jiàn)問(wèn)題小結(jié)
- 安裝MySQL 5后無(wú)法啟動(dòng)(不能Start service)解決方法小結(jié)
- MySQL啟動(dòng)1053錯(cuò)誤解決方法
- windows無(wú)法啟動(dòng)MySQL服務(wù)報(bào)錯(cuò)1067的解決方法
- 碰到MySQL無(wú)法啟動(dòng)1067錯(cuò)誤問(wèn)題解決方法
- mysql授權(quán)、啟動(dòng)、啟動(dòng)服務(wù)常用命令
- 一次MySQL啟動(dòng)導(dǎo)致的事故實(shí)戰(zhàn)記錄
相關(guān)文章
InnoDB 類型MySql恢復(fù)表結(jié)構(gòu)與數(shù)據(jù)
MySQL中.frm文件:保存了每個(gè)表的元數(shù)據(jù),包括表結(jié)構(gòu)的定義等,該文件與數(shù)據(jù)庫(kù)引擎無(wú)關(guān)。MySQL中.ibd文件:InnoDB引擎開啟了獨(dú)立表空間(my.ini中配置innodb_file_per_table = 1)產(chǎn)生的存放該表的數(shù)據(jù)和索引的文件。2018-01-01Mysql 數(shù)據(jù)庫(kù)死鎖過(guò)程分析(select for update)
最近有項(xiàng)目需求,需要保證多臺(tái)機(jī)器不拿到相同的數(shù)據(jù),后來(lái)發(fā)現(xiàn)Mysql查詢語(yǔ)句使用select.. for update經(jīng)常導(dǎo)致數(shù)據(jù)庫(kù)死鎖問(wèn)題,下面小編給大家介紹mysql 數(shù)據(jù)庫(kù)死鎖過(guò)程分析(select for update),對(duì)mysql數(shù)據(jù)庫(kù)死鎖問(wèn)題感興趣的朋友一起學(xué)習(xí)吧2015-12-12mysql-connector-java.jar包的下載過(guò)程詳解
這篇文章主要介紹了mysql-connector-java.jar包的下載過(guò)程詳解,mysql-connector-java.jar是java連接使用MySQL是必不可少的,感興趣的可以了解一下2020-07-07MySQL查詢倒數(shù)第二條記錄實(shí)現(xiàn)方法
這篇文章主要介紹了MySQL查詢倒數(shù)第二條記錄實(shí)現(xiàn)方法,本文直接給出代碼實(shí)例,重要部分已經(jīng)加紅提示,需要的朋友可以參考下2015-05-05MySQL特定表全量、增量數(shù)據(jù)同步到消息隊(duì)列-解決方案
mysql要同步原始全量數(shù)據(jù),也要實(shí)時(shí)同步MySQL特定庫(kù)的特定表增量數(shù)據(jù),同時(shí)對(duì)應(yīng)的修改、刪除也要對(duì)應(yīng),下面就為大家分享一下2021-11-11