Maison > Article > base de données > Que faire si le démarrage de MySQL échoue
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.
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!