Si "mysqld" est en cours d'exécution, il est possible que vos données soient corrompues. Essayez d'exécuter ceci :
mysqld
Lisez le mur de données, et vérifiez si mysqld rapporte que la base de données est corrompue. La corruption peut se présenter de plusieurs façons peu intuitives :
-
mysql -uroot
renvoie "ERROR 2002 (HY000) : Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)".
-
mysql.server start
retourne "ERROR ! Le serveur a quitté sans mettre à jour le PID".
- Sequel Pro et MySQL Workbench répondent qu'ils ne peuvent pas se connecter à MySQL sur localhost ou 127.0.0.1.
Pour récupérer vos données, ouvrez my.cnf et ajoutez la ligne suivante dans le fichier [mysqld]
section :
innodb_force_recovery=1
Redémarrez mysqld :
$ brew services restart mysql@5.6
Vous pouvez maintenant vous y connecter, mais en mode lecture seule.
Si vous utilisez InnoDB, exécutez ceci pour exporter toutes vos données :
$ mysqldump -u root -p --all-databases --add-drop-database --add-drop-table > data-recovery.sql
Le fichier est créé dans votre répertoire ~. Cela peut prendre un certain temps.
Une fois terminé, retirez innodb_force_recovery=1
de my.cnf, puis redémarrez mysql en mode normal :
$ brew services restart mysql@5.6
Laissez tomber toutes les bases de données. Je l'ai fait en utilisant Sequel Pro. Cela supprime toutes vos données d'origine. Assurez-vous que votre data-recovery.sql a l'air bon avant de faire cela. Pensez également à sauvegarder /usr/local/var/mysql
de faire très attention.
Ensuite, restaurez les bases de données, les tables et les données avec ceci :
$ mysql -uroot < ~/data-recovery.sql
Le processus d'importation/restauration peut être long. Une fois terminé, vous êtes prêt à partir !
Merci à https://severalnines.com/database-blog/my-mysql-database-corrupted-what-do-i-do-now pour les instructions de récupération. Le lien contient des instructions supplémentaires sur la récupération de MyISAM.
0 votes
Vous pouvez voir ce lien Réponse de GeekHades. stackoverflow.com/questions/4847069/
0 votes
J'ai installé mysql récemment et j'ai eu le même problème après que la batterie de mon ordinateur portable soit morte et ait forcé un arrêt incomplet. Cela vaut la peine de lancer
mysqld
pour vérifier les choses et s'assurer que MySQL s'est arrêté correctement la dernière fois. S'il y a eu un arrêt "sale" (par exemple, si une batterie d'ordinateur portable force l'arrêt du système), cela devrait le nettoyer. Vous pouvez alors relancer le serveur MySQL :mysql.server start
.1 votes
Cette réponse a fonctionné pour moi : stackoverflow.com/a/6378429/2641861
0 votes
Cela m'est arrivé après avoir restauré un nouveau Mac Mini à partir d'une sauvegarde Time Machine. J'ai dû désinstaller mysql@5.7 et le réinstaller pour qu'il commence à fonctionner. C'est un peu un marteau mais c'était relativement indolore puisque toutes mes configurations étaient conservées.