J'essaie d'exécuter MySQL à partir d'une installation Homebrew, mais il échoue toujours en essayant mysql.server start
.
My se /usr/local/var/mysql/<name>.local.err
lit comme tel et continue d'envoyer ce message d'erreur toutes les quelques secondes.
2018-06-20T20:38:54.6NZ mysqld_safe Logging to '/usr/local/var/mysql/<computer name>.local.err'.
2018-06-20T20:38:54.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2018-06-20T20:38:54.379228Z 0 [System] [MY-010116] [Server] /usr/local/opt/mysql/bin/mysqld (mysqld 8.0.11) starting as process 6271
2018-06-20T20:38:54.383128Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2018-06-20T20:38:54.449869Z 1 [ERROR] [MY-012526] [InnoDB] InnoDB: Upgrade after a crash is not supported. This redo log was created with MySQL 5.7.20. Please follow the instructions at http://dev.mysql.com/doc/refman/8.0/en/upgrading.html
2018-06-20T20:38:54.449947Z 1 [ERROR] [MY-012930] [InnoDB] InnoDB: Plugin initialization aborted with error Generic error.
2018-06-20T20:38:54.919197Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
2018-06-20T20:38:54.919769Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-06-20T20:38:54.919814Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-06-20T20:38:54.920978Z 0 [System] [MY-010910] [Server] /usr/local/opt/mysql/bin/mysqld: Shutdown complete (mysqld 8.0.11) Homebrew.
2018-06-20T20:38:54.6NZ mysqld_safe mysqld from pid file /usr/local/var/mysql/bae.local.pid ended
/usr/local/var/mysql
plutôt que de simplement le supprimer au départ?old.mysql
n'est utilisé nulle part sauf pendant l'étape de nettoyage. Je demande car il serait utile de réinstaller MySQL tout en préservant les bases de données.Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
en cours d'exécution/usr/local/bin/mysql_secure_installation
, vous devrez peut-être simplement démarrer le serveur MySql comme je l'ai fait. Vous pouvez le faire en exécutant "mysql.server start".tldr; Une nouvelle version de mysql a été installée via Homebrew. Revenez à la version précédemment installée.
L'histoire complète est que vous avez probablement installé une version plus récente de mysql avec
brew upgrade
. Vérifiez la sortie debrew info mysql
. Vous pouvez voir plus d'une version.Dans mon cas, j'ai vu les deux éléments suivants:
J'ai vérifié
mysql --version
et le plus récent 8.0.11 fonctionnait.Homebrew inclut la
switch
commande qui vous permet de faire exactement cela entre les services.Exécutez ceci en remplaçant la version par la vôtre:
Redémarrez mysql:
Tout devrait être de retour en état de marche.
la source
brew switch
ce qui ne fonctionne pas.Il semble que le problème provienne d'une installation précédente dans
/usr/local/var/mysql
.Après la désinstallation via homebrew, la suppression
/usr/local/var/mysql
, l'exécutionbrew doctor
et la réinstallation via homebrew, le problème a disparu.la source
/usr/local/var/mysql
supprimera-t-elle tout le contenu de votre base de données?