The Reasons and Solutions of MySQL Service Startup Failure under CentOS 7

After restarting Ali's entOS 7 server, there was an error restarting MySQL

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]

Follow the prompt to view the error message

[root@djaljdw ~]# systemctl status mysqld.service

● mysqld.service - SYSV: MySQL database server.
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2019-08-22 14:42:39 CST; 1min 25s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2427 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=1/FAILURE)

Aug 22 14:42:37 izw91diu854rguz systemd[1]: Starting SYSV: MySQL database server....
Aug 22 14:42:39 izw91diu854rguz mysqld[2427]: MySQL Daemon failed to start.
Aug 22 14:42:39 izw91diu854rguz mysqld[2427]: Starting mysqld:  [FAILED]
Aug 22 14:42:39 izw91diu854rguz systemd[1]: mysqld.service: control process exited, code=exited status=1
Aug 22 14:42:39 izw91diu854rguz systemd[1]: Failed to start SYSV: MySQL database server..
Aug 22 14:42:39 izw91diu854rguz systemd[1]: Unit mysqld.service entered failed state.
Aug 22 14:42:39 izw91diu854rguz systemd[1]: mysqld.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

[root@djaljdw ~]#  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.

No useful error information was found.

So check the mysql log information (/ var/log/mysqld.log)

190822 14:44:42 [Note] Plugin 'FEDERATED' is disabled.
190822 14:44:42 InnoDB: The InnoDB memory heap is disabled
190822 14:44:42 InnoDB: Mutexes and rw_locks use GCC atomic builtins
190822 14:44:42 InnoDB: Compressed tables use zlib 1.2.3
190822 14:44:42 InnoDB: Using Linux native AIO
190822 14:44:42 InnoDB: Initializing buffer pool, size = 128.0M
190822 14:44:42 InnoDB: Completed initialization of buffer pool
190822 14:44:42 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
190822 14:44:42  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
190822 14:44:42  InnoDB: Waiting for the background threads to start
190822 14:44:43 InnoDB: 5.5.59 started; log sequence number 1940403
190822 14:44:43 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
190822 14:44:43 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
190822 14:44:43 [Note] Server socket created on IP: '0.0.0.0'.
190822 14:44:43 [ERROR] /usr/libexec/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)
190822 14:44:43 [ERROR] Can't start server: can't create PID file: No such file or directory

The problem was found: you can't create a PID file: there is no such file or directory

So I went to check, and there were no folders.

[root@djaljdw ~]#  cd /var/run
[root@djaljdw ~]#  mkdir mysqld
[root@djaljdw ~]#  cd mysqld
[root@djaljdw ~]#  touch mysqld.pid
Restart service or report error
So I checked the log again.
190822 14:56:51 [Note] Plugin 'FEDERATED' is disabled.
190822 14:56:51 InnoDB: The InnoDB memory heap is disabled
190822 14:56:51 InnoDB: Mutexes and rw_locks use GCC atomic builtins
190822 14:56:51 InnoDB: Compressed tables use zlib 1.2.3
190822 14:56:51 InnoDB: Using Linux native AIO
190822 14:56:51 InnoDB: Initializing buffer pool, size = 128.0M
190822 14:56:51 InnoDB: Completed initialization of buffer pool
190822 14:56:51 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
190822 14:56:51  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
190822 14:56:51  InnoDB: Waiting for the background threads to start
190822 14:56:52 InnoDB: 5.5.59 started; log sequence number 1940403
190822 14:56:52 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
190822 14:56:52 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
190822 14:56:52 [Note] Server socket created on IP: '0.0.0.0'.
190822 14:56:52 [ERROR] /usr/libexec/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13)
190822 14:56:52 [ERROR] Can't start server: can't create PID file: Permission denied

Discovery: unable to create PID file: permission denied

Solution:
Modify / var/run/mysqld / permission to mysql
[root@djaljdw ~]#  chown -R mysql /var/run/mysqld
[root@djaljdw ~]#  chgrp -R mysql /var/run/mysqld
[root@djaljdw ~]#  chmod 777 /var/run/mysqld

Perfect solution of restart service

tip: Looking at the log is a good way to solve the problem!

Keywords: MySQL Database Session Spark

Added by madsporkmurderer on Tue, 08 Oct 2019 09:00:04 +0300