Maison  >  Article  >  base de données  >  Que faire si le démarrage de MySQL échoue

Que faire si le démarrage de MySQL échoue

藏色散人
藏色散人original
2021-12-28 10:53:025420parcourir

Solution à l'échec du démarrage de MySQL : 1. Migrez le répertoire de données d'origine vers le répertoire de données recréé ; 2. Exécutez "chown -R mysql:mysql /mydata/data/" ; 3. Exécutez "kill -9 process No. "; 4. Supprimez mysql-bin.

Que faire si le démarrage de MySQL échoue

L'environnement d'exploitation de cet article : système Windows 7, mysql version 5.5, ordinateur Dell G3.

Que dois-je faire si le démarrage de MySQL échoue ?

La base de données mysql n'a pas pu démarrer

Introduction :

Après le redémarrage du serveur-->Redémarrez le service d'application (Confluence)-->Rapport d'erreur, la connexion à la base de données a échoué (mysql est configuré pour démarrer automatiquement au démarrage )-->Afficher l'état de la base de données mysql :

[root@fisheye ~]# ps -ef | grep mysql
root     25555 21974  0 11:28 pts/0    00:00:00 grep mysql

Démarrez le serveur mysql

[root@fisheye data]# service mysql start
MySQL server PID file could not be found![失败]
Starting MySQL.............. ERROR! The server quit without updating PID file (/mydata/data/fisheye..pid).[失败]

Vérifiez le journal des erreurs :

[root@fisheye data]# tail -100 fisheye.err
InnoDB: Last MySQL binlog file position 0 337403929, file name ./mysql-bin.000016
141013  1:13:28  InnoDB: Waiting for the background threads to start
141013  1:13:29 InnoDB: 5.5.33 started; log sequence number 1006647152
17:13:29 UTC - mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
di141013 01:13:29 mysqld_safe mysqld from pid file /mydata/data/fisheye.pid ended

Aucun message d'erreur évident n'a été trouvé, essayez donc de créer un fichier pid manuellement

[root@fisheye data]# touch /mydata/data/fisheye.pi

puis redémarrez le service :

[root@fisheye data]# service mysql restart
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

J'ai soudainement pensé à le regarder avant Après avoir lu de tels articles sur les rapports d'erreurs, rappelez-vous que MySQL peut ne pas pouvoir démarrer en raison d'un espace disque insuffisant.

[root@fisheye data]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda1             9.5G  9.5G  0  100% /
/dev/sda4             5.5G  1.3G  4.0G  24% /mnt/backup
/dev/mapper/IhuilianVG-IhuilianLV00
                       22G  4.2G   17G  20% /var/www/app
tmpfs                 1.3G     0  1.3G   0% /dev/shm

Effectivement, voici quelques solutions à des problèmes similaires (démarrage impossible) :

1 Il se peut que la partition où existe le répertoire datadir soit pleine (df -h)

Solution : Ouvrez la configuration. fichier /etc/ my.cnf, respécifiez le répertoire de données (datadir) dans la section [mysqld] et migrez le répertoire de données d'origine vers le répertoire de données repensé

À propos de la migration : (1) Assurez-vous de modifier les autorisations lorsque en utilisant cp ou tar Apportez-le avec vous, mais il est recommandé de l'autoriser à nouveau pour éviter les accidents (2) Lorsque les données sont relativement volumineuses, elles doivent d'abord être compressées puis migrées pour garantir l'intégrité, en particulier lorsque scp vers d'autres machines peut time out, il doit donc être compressé (tar.gz ); (3) Si vous passez à un autre serveur, vous devez vous assurer que la version de mysql est cohérente.

2. Il se peut que le fichier /mydata/data/fisheye.pid n'ait pas l'autorisation d'écriture

Solution : Donnez l'autorisation, exécutez "chown -R mysql:mysql /mydata/data/" puis redémarrez mysqld !

3. Il y a peut-être déjà un processus mysql dans le processus

Solution : utilisez la commande "ps -ef|grep mysqld" pour vérifier s'il existe un processus mysqld. S'il y en a, utilisez "kill -9 process ID". pour le tuer, puis redémarrez mysqld !

4. C'est peut-être la deuxième fois que j'installe MySQL sur la machine, et il reste des données résiduelles qui affectent le démarrage du service.

Solution : accédez au répertoire de données mysql/data et jetez un œil si mysql-bin.index existe, supprimez-le rapidement. C'est le coupable.

Problème de champ 5.skip-federated (message d'erreur : [ERREUR] /mydata/data/mysql/libexec/mysqld : option inconnue '--skip-federated')

Solution : Vérifiez /etc/my.cnf Y a-t-il un champ fédéré sauté non commenté dans le fichier ? Si tel est le cas, commentez-le immédiatement.

6. Selinux pose des problèmes. S'il s'agit d'un système centos, selinux sera activé par défaut

Solution : fermez-le, ouvrez /etc/selinux/config, remplacez SELINUX=enforcing par SELINUX=disabled, enregistrez et quittez. et essayez de redémarrer la machine.

Apprentissage recommandé : "tutoriel vidéo mysql"

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!

Déclaration:
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