il y a quelques jours, je laissais brew mettre à jour toutes mes formules comme toujours, mais cette fois-ci, mysqld ne redémarre pas.
C'est le message d'erreur:
2016-03-22T13:58:22.515719Z 0 [ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
2016-03-22T13:58:22.515819Z 0 [ERROR] Aborting
Mais comme je ne parviens pas à faire démarrer le serveur, je ne parviens pas à faire fonctionner mysql_upgrade:
mysql_upgrade: Got error: 2013: Lost connection to MySQL server at 'reading initial communication packet', system error: 102 while connecting to the MySQL server
Upgrade process encountered error and will not continue.
Alors, que puis-je faire pour que cela fonctionne à nouveau? Est-ce qu'un brew uninstall mysql
et réinstaller l'aide de quelque manière que ce soit?
Commencez par démarrer votre mysql sans lire le tableau des utilisateurs: mysqld --skip-grant-tables
Ensuite, lancez mysql_upgrade
qui devrait maintenant fonctionner correctement.
Ensuite, arrêtez mysqld: killall mysqld
.
Maintenant, vous devriez pouvoir redémarrer votre service mysql normalement.
J'ai fini par renommer mon dossier de base de données, exécuter mysql_install_db
, copier le nouveau dossier de base de données mysql
dans mon ancien dossier de base de données mysql et le redémarrer. Je suis sûr que c'est hella sale mais bon, ça a marché :)
le code suivant peut résoudre votre problème
# /etc/init.d/mysqld start –skip-grant-tables && mysql_upgrade
# /etc/init.d/mysqld status