1. 程式人生 > >CentOS 7下MySQL服務啟動失敗的解決思路

CentOS 7下MySQL服務啟動失敗的解決思路

今天,啟動MySQL伺服器失敗,如下所示:

[[email protected] ~]# /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]

根據提示,分別使用systemctl status mysqld.service和journalctl -xe檢視服務啟動失敗的原因

[[email protected] ~]# 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.

[[email protected] ~]# 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.

但,可惜的時,這些資訊並不能提供服務啟動失敗的真正原因。

這時候,不妨開啟MySQL的告警日誌,畢竟,只要MySQL服務啟動,告警日誌都會有輸出資訊的,果然

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服務在啟動的時候,不能建立pid檔案。

在終端看一下該目錄是否存在,果然,不存在。

於是,建立了/var/run/mysqld/目錄,重啟MySQL服務

[[email protected] ~]# mkdir -p /var/run/mysqld/

[[email protected] ~]# /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]

依舊報錯,重新檢視告警日誌,有以下輸出

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

原來,/var/run/mysqld/的屬主和屬組還是root,mysql並不能在其中建立檔案,後修改該目錄的屬主和屬組,啟動OK。

[[email protected] ~]# ls -ld /var/run/mysqld/
drwxr-xr-x 2 root root 40 Jan 20 18:28 /var/run/mysqld/
[[email protected] ~]# chown mysql.mysql /var/run/mysqld/
[[email protected] ~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl):                           [  OK  ]

總結:

以前在玩Kubernetes的時候,常遇到啟動失敗的情況,根據systemctl的提示,通過systemctl status mysqld.service和journalctl -xe命令檢視服務啟動失敗的原因往往並不如人意,反而給了一種錯誤的暗示,以為這個跟系統有關。其實,通過檢視服務的日誌,往往更能清晰的知道服務啟動失敗的原因。

相關推薦

CentOS 7MySQL服務啟動失敗解決思路

今天,啟動MySQL伺服器失敗,如下所示: [[email protected] ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Job for mysqld.service fail

阿裏雲CentOS 7.2 MySQL服務啟動失敗解決思路

阿裏雲 centos 7.2 mysql服務啟動失敗的解決思路阿裏雲 CentOS 7.2 MySQL服務啟動失敗的解決思路前言 :昨天剛剛搭建好的MySQL讓老大看了一下,經過測試已經完成任務。但是今天早晨來的時候發現服務器被關了,此時我的心情崩潰的,但是我非常冷靜的解決了MySQL問題。如下:啟動MySQ

CentOS 7mysqld服務啟動失敗終極解決方案

啟動mysqld服務失敗,報錯如下: [[email protected] ~]# service mysqld start Starting mysqld (via systemctl): Job for mysqld.service failed because the con

centos 7 新增 nfs 開機啟動失敗解決方法

centos 7 下將 nfs 服務設定為開機自動啟動,systemctl enable nfs-idmapd.service,將提示如下錯誤: Failed to execute operation: No such file or directory 解決方法: /us

CentOSmysql服務啟動失敗

失敗 問題 情況 rest mys 情況下 文件清空 bsp centos mysql服務啟動失敗,可以使用排除法查找原因: 如果修改了my.cnf後重啟mysql服務失敗,大多數情況下都是配置文件有錯誤, 可以通過備份原來的配置文件,然後將配置文件清空,只剩下[mysql

Mysql 5.7.11 安裝在 win10,服務啟動失敗解決方法

新裝的win10系統,安裝Mysql-5.7.11-win64版本,正常安裝後: 問題 : 在 命令列中啟動,服務不能啟動,沒有錯誤資訊 在 服務 中啟動,提示 :本地計算機上的MySQL服務啟動後停止。某些服務在未由其他服務或程式使用時將自動停止

spring-boot不同包結構,同名類衝突導致服務啟動失敗解決方案

專案背景:   兩個專案的包結構和類名都很多相同,於是開始考慮使用加一級包進行隔離,類似於這種結構 但是在啟動的過程中,丟擲來這樣的異常: 1 2 3 4 5 6 7 8 9 Caused by: org.springframework.

關於linux-Centos 7mysql 5.7.9的rpm包的安裝方式

mysql 5.7.9的rpm包的安裝方環境介紹>>>>>>>>>>>>>>>>>>操作系統:Centos 7.1mysql數據庫版本:mysql5.7.9mysql官方網站:http://www.my

服務器異常斷電導致windowsmysql服務啟動報1067錯誤

nbsp 服務 數據庫 window 導致 錯誤 ble can blog 服務器異常斷電導致windows下mysql服務啟動報1067錯誤 1.進入在D:\candaoserver\mysql\下面的my.ini中添加一行 innodb_force_recovery

Nginx 服務語法正確,服務啟動失敗解決方法

ces nag -o text 描述 alt water 找到 roc 問題描述: 搭建好nginx服務後,啟動失敗,檢查語法正確,但是後面卻顯示配置文件沒有通過測試,自己找半天都沒找到原因,以下是我的錯誤詳情及解決方法: 總結:nginx服務默認以nobody身份運行,

mysql5.7 安裝,服務啟動失敗無data目錄處理

廢話:今天準備做Mysql相關的開發,決定本地裝個,以後也好除錯優化。 Mysql版本:5.7   來源:官網下載,下載後解壓,應該是這個綠色包。 跟著網上的教程安裝。 好,開始說問題。 第一個坑:my.ini my.ini裡面的路徑用的都是‘\’單斜槓的(反

RHEL\CentOS 7 MySQL 連線數被限制

問題 專案中,由於連線數過多,提示“Too many connections”,需要增加連線數。我在 /etc/my.cnf中修改了 max_connections = 2000 但是, 實際連線數一直被限制在 214 mysql> 

CentOS 7Samba服務安裝與配置詳解

chown grep -E add -s login mkdir entos passwd 密碼 centos7.5系統下進行 yum -y install samba samba-client systemctl start smb nmbps -ef | grep -E

Mysql容器啟動失敗-解決方案

conf mage 重要 als 查看 director 一次 ops star 在看問題之前首先熟悉幾個命令 相關命令 1.docker attach 連接到正在運行中的容器; 命令:docker attach --sig-proxy=false mynginx

CentOS 7 mysql-5.7.24 安裝示例

環境:CentOS 7 mysql版本:mysql-5.7.24 本例mysql下載地址: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 一.準備工作

Centos 7 mysql 命令

**使用客戶端連線工具連線mysql時,常碰到mysql 報1405 異常: 這個應該時由於資料庫許可權問題: grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant o

Linuxmysql無法啟動問題解決

無論發現怎樣的問題,首先檢視err日誌。一、pid檔案找不到1.查詢err日誌顯示許可權問題。分析:mysql原本是所屬mysql使用者,如果在root使用者下啟動就有可能出現問題。解決:(1)檢視mysql的許可權(2)發現有root許可權,混亂了。所以先修改為mysql許

npkcrypt 服務啟動失敗解決方法;事件來源: Service Control Manager;事件 ID: 7000

1、在“我的電腦”上點右鍵,選“管理”->“裝置管理器”。2、選擇“檢視”/“顯示隱藏的裝置”,在“非即插即用驅動程式”中選擇“npkcrypt”,解除安裝之。3、執行“regedit”,可能存在鍵項:“HKEY_LOCAL_MACHINE/SYSTEM/Control

MySQL資料庫啟動失敗解決

重啟伺服器後-->重啟應用服務(Confluence)-->報錯,資料庫連線失敗(MySQL設定了開機自啟動)-->檢視MySQL資料庫狀態: [[email protected] www.linuxidc.com ~]# ps -ef | grep mys

CentOS 7 ifconfig command not found 解決辦法

用VMWare安裝了CentOS7,選擇了最小安裝包模式,安裝完畢之後想檢視一下本機的ip地址,發現報錯 # ifcon -bash: ifconfig: command not found 谷歌了一下,整理了一下解決