44 votes

Comment récupérer/recréer la base de données 'mysql' par défaut de mysql

Lorsque j'ai installé mysql, il était livré avec deux bases de données, mysql et schéma d'information. J'ai accidentellement supprimé la base de données mysql. Y a-t-il un moyen de le recréer ?

De plus, étant donné qu'il contient un tableau contenant des informations sur les utilisateurs, y aurait-il un moyen de visualiser les informations des utilisateurs sans lui ?

45voto

Michael Berkowski Points 137903

Si vous pouvez toujours vous connecter (je suppose que vous ne l'êtes pas car il n'y a pas de table utilisateur) et que vous avez des bases de données à enregistrer, videz-les avec

 mysqldump --routines databasename > outfile.sql

La base de données MySQL peut être recréée avec la commande

 # Most MySQL versions
mysql_install_db

# MySQL 5.7 and later
mysqld --initialize

Documentation MySQL ici

6voto

hihu Points 59

en savoir plus sur : https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization.html

Sous Windows, utilisez l'une de ces commandes :

 C:\> bin\mysqld --initialize
C:\> bin\mysqld --initialize-insecure

3voto

Sina Points 46

J'ai récemment installé mysql 8 et il semblait qu'il y avait un problème avec les bases de données par défaut de mysql. Quoi qu'il en soit, cela a fonctionné pour moi:

 mysql_upgrade -u root -p

2voto

Andrew Zhilin Points 681

J'ai supprimé la base de données mysql par accident et mysqld --initialize ne m'a pas aidé. Aucune erreur ne s'est affichée, même le service mysql a démarré correctement, mais le dossier mysql n'a pas été créé et mysql n'était pas utilisable - je n'ai même pas pu créer de nouvelles bases de données.

Après avoir passé beaucoup de temps à essayer différentes options, j'ai remarqué que j'avais déprécié l'option innodb_additional_mem_pool_size=20M, qui a fait planter mysqld --initialize

Après avoir corrigé la configuration mysql - cela a bien fonctionné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X