GNU/Linux >> Tutoriels Linux >  >> Cent OS

MySQL ne parvient pas à démarrer l'utilisation de systemctl sur les distributions Linux systemd

Problème

Lorsque vous essayez de démarrer MySQL à l'aide de systemctl, le démarrage échoue, par exemple :

# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

Solution

Il peut y avoir plusieurs causes à cela. Voici quelques exemples (mais non limités à) :

  • Une faute de frappe dans une option de configuration du fichier de configuration MySQL.
  • Présence d'une option qui n'est plus utilisée dans le fichier de configuration MySQL.
  • Autorisation incorrecte au niveau du système de fichiers.

Pour rechercher quelle erreur empêche MySQL de démarrer, plusieurs sources peuvent être utilisées :

1. Le journal des erreurs MySQL

Par défaut, il se trouve dans /var/log/mysqld.log mais peut être à un emplacement différent si log-error L'option est définie dans le fichier de configuration MySQL. C'est le meilleur endroit pour commencer, mais selon l'erreur, le processus de démarrage peut même ne pas être allé assez loin pour écrire dans le journal des erreurs MySQL.

2. Vérifiez la sortie de "systemctl status mysqld"

La sortie de "systemctl status mysqld" peut également être utile pour identifier la cause de l'échec.

# systemctl status mysqld

3. Le journal systemd

Le journal systemd peut aider à trouver la cause première de l'échec. Vous pouvez par exemple le parcourir de manière interactive en utilisant :

# journalctl -xe

Si vous devez télécharger le journal pour le faire analyser par le fournisseur, vous devez déterminer où il se trouve. Ceci est spécifique au système. Par exemple, avec la configuration par défaut, le journal sur CentOS/RHEL 7 se trouve dans un sous-répertoire sous /run/log/journal/ , par exemple /run/log/journal/1ffd55f216ea46bd82d0f144065cc29b/system.journal. Un autre emplacement peut être /var/log/journal.

Ou vous pouvez exporter le journal comme :

# journalctl > journal.log

Une fois le message d'erreur déterminé, utilisez-le pour rechercher la cause première.


Cent OS
  1. Utilisation d'Ansible pour installer et initialiser Mysql 8 sur Rocky Linux/Centos 8

  2. Comment configurer un fichier Override.conf séparé pour plusieurs instances MySQL à l'aide de Systemd

  3. Configurer le routeur MySQL pour qu'il redémarre automatiquement en cas d'échec à l'aide de systemd

  4. mysqld_safe mysqld à partir du fichier pid /var/run/mysqld/mysqld.pid empêche le redémarrage du serveur

  5. NFS ne se monte plus :rpc-statd ne démarre pas

Comment afficher les utilisateurs de MySQL avec Linux

Vous n'êtes pas fan de Systemd ? Voici 14 distributions Linux sans Systemd

Utilisation de Yarn sur Ubuntu et d'autres distributions Linux

Comment installer et configurer NextCloud en utilisant LEMP sur Rocky Linux/Centos 8

Comment savoir si j'utilise systemd sous Linux ?

Nginx ne démarre pas avec systemctl