Maison > Opération et maintenance > CentOS > Que faire si centos mysqld ne démarre pas

Que faire si centos mysqld ne démarre pas

藏色散人
Libérer: 2022-01-28 11:08:07
original
4024 Les gens l'ont consulté

Solution à l'échec de démarrage de centos mysqld : 1. Vérifiez le journal du service ; 2. Modifiez le propriétaire et le groupe de "/var/run/mysqld/".

Que faire si centos mysqld ne démarre pas

L'environnement d'exploitation de cet article : système CentOS 7, ordinateur DELL G3

centos Que dois-je faire si mysqld ne démarre pas ?

Aujourd'hui, le démarrage du serveur MySQL a échoué, comme indiqué ci-dessous :

[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]
Copier après la connexion

Selon les invites, utilisez respectivement systemctl status mysqld.service et journalctl -xe pour vérifier la raison de l'échec de démarrage du service

[root@spark01 ~]# systemctl status mysqld.service
Copier après la connexion
?.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.
Copier après la connexion
[root@spark01 ~]# journalctl -xe
Copier après la connexion
-- 
-- 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.
Copier après la connexion

Mais, malheureusement, ces informations ne fournissent pas la véritable raison de l'échec de démarrage du service.

À ce stade, vous pourriez aussi bien ouvrir le journal des alarmes MySQL. Après tout, tant que le service MySQL est démarré, le journal des alarmes affichera des informations

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
Copier après la connexion

Le service MySQL ne peut pas créer de fichier pid lorsqu'il le fait. est démarré.

Vérifiez dans le terminal si le répertoire existe Effectivement, il n'existe pas.

J'ai donc créé le répertoire /var/run/mysqld/ et redémarré le service MySQL

[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]
Copier après la connexion

L'erreur s'est toujours produite. J'ai vérifié à nouveau le journal des alarmes et j'ai trouvé la sortie suivante

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
Copier après la connexion

Il s'est avéré que le propriétaire et le groupe. de /var/run/mysqld/ Toujours root, mysql ne peut pas y créer de fichiers. Ensuite, modifiez le propriétaire et le groupe du répertoire et démarrez 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  ]
Copier après la connexion

Résumé :

Quand je jouais avec Kubernetes, je rencontrais souvent des échecs de démarrage. Selon les invites systemctl, les raisons des échecs de démarrage du service étaient souvent vérifiées via le statut systemctl mysqld.service et journalctl. Commandes -xe Insatisfaisant, mais cela donnait une fausse indication, pensant que cela était lié au système. En fait, en vérifiant les journaux de service, vous pouvez souvent connaître plus clairement les raisons pour lesquelles le service n'a pas pu démarrer.

Recommandé : "Tutoriel d'utilisation des centos"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal