web-dev-qa-db-fra.com

MySQLd ne démarre pas après la mise à niveau de la bière de 5,6 à 5,7

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?

9
Cojones

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.

28
bb.

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é :)

3
Cojones

le code suivant peut résoudre votre problème

# /etc/init.d/mysqld start –skip-grant-tables && mysql_upgrade 
# /etc/init.d/mysqld status
0