103 votes

Où MySQL stocke-t-il les fichiers de base de données sous Windows et quels sont les noms de ces fichiers ?

J'ai accidentellement formaté mon disque dur et réinstallé Windows et j'ai oublié de sauvegarder une importante base de données que j'avais dans mon serveur MySQL. J'essaie maintenant de récupérer des fichiers à l'aide d'un logiciel, mais je ne sais pas ce qu'il faut chercher.

Quel est le chemin dans lequel les fichiers sont stockés, et comment sont nommés les fichiers (quelle convention de dénomination ou extension de fichier dois-je rechercher) ?

Je crois que mon serveur utilisait MyISAM, mais je ne suis pas sûr à 100%.

106voto

Udan Points 2739

Vous pouvez vérifier my.ini pour voir où se trouve le dossier de données.

Habituellement, il y a un dossier {mysqlDirectory}/data

Stockage de données MySQL :

Commands.frm
Commands.myd
Commands.myi

Les fichiers *.frm contiennent les définitions des tables. Vos fichiers *.myi sont des fichiers d'index MyISAM. Vos fichiers *.myd contiennent les données de la table.

Modifier/Mettre à jour . En raison de l'intérêt manifesté pour la question, voici plus d'informations, que vous trouverez également dans les commentaires.

Dans Windows 8.1, les bases de données MySQL sont stockées (par défaut) ici : C:\ProgramData\MySQL\MySQL Server 5.6\data

Le dossier C:\ProgramData est un dossier caché, vous devez donc le taper dans l'adresse de l'Explorateur Windows pour y accéder. Dans ce dossier de données, les bases de données sont nommées /{database_name_folder}/{database_tables_and_files} .

Par exemple,

C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.frm
C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.ibd 

Remerciez @marty-mcgee pour ce contenu.

42voto

Julio Points 111

Sous Windows 7, la base de données MySQL est stockée à l'adresse suivante

C:\ProgramData\MySQL\MySQL Serveur 5.6 \data

Remarque : il s'agit d'un caché dossier. Et mon exemple est pour MySQL Server version 5.6 ; changez le nom du dossier en fonction de votre version si elle est différente.

Il est utile de connaître cet emplacement car il arrive que l'atelier MySQL ne parvienne pas à déposer des schémas (ou à importer des bases de données). Cela est principalement dû à la présence de fichiers dans les dossiers db qui, pour une raison quelconque, n'ont pas pu être supprimés par le Workbench lors d'un processus antérieur. Supprimez les fichiers à l'aide de l'Explorateur Windows et réessayez (dépôt, importation), votre problème devrait être résolu.

19voto

Mukus Points 1104

J'ai un fichier my-default.ini dans la racine et il y a une configuration de serveur :

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

Cela ne m'indique donc pas le chemin à suivre.

Le meilleur moyen est de se connecter à la base de données et d'exécuter cette requête :

SHOW VARIABLES WHERE Variable_Name LIKE "%dir" ;

Voici le résultat :

basedir                     C:\Program Files (x86)\MySQL\MySQL Server 5.6\
character_sets_dir          C:\Program Files (x86)\MySQL\MySQL Server 5.6\share\charsets\

datadir                     C:\ProgramData\MySQL\MySQL Server 5.6\Data\
innodb_data_home_dir    
innodb_log_group_home_dir   .\
lc_messages_dir             C:\Program Files (x86)\MySQL\MySQL Server 5.6\share\

plugin_dir                  C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib\plugin\

slave_load_tmpdir           C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp
tmpdir                      C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp

Si vous voulez voir tous les paramètres configurés pour la base de données, exécutez ceci :

SHOW VARIABLES;

La variable storage_engine vous indiquera si vous utilisez InnoDb ou MyISAM.

9voto

Derek Points 11

MYSQL 8.0 :

Recherche my.ini dans le disque, nous trouverons ce dossier :

C:\ProgramData\MySQL\MySQL Serveur 8.0
C'est ProgramData pas Program file

Les données sont dans un sous-dossier : \Data .

Chaque database possède un dossier, chaque table est un fichier, chaque index est de 1+ fichiers.

Voici un exemple de base de données sakila : enter image description here

6voto

user3256430 Points 11

Pour Windows7, utilisez ce lien : c : \users\all utilisateurs \MySql\MySql Serveur x.x \Data\

Où x.x est le numéro de version du serveur sql installé dans votre machine.

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