web-dev-qa-db-fra.com

Où MySQL stocke-t-il les fichiers de base de données sous Windows et quel est le nom de ces fichiers

J'ai donc accidentellement formaté mon disque dur, réinstallé Windows et oublié de sauvegarder une base de données importante présente sur mon serveur mySQL. J'essaie maintenant de récupérer des fichiers à l'aide de certains logiciels, mais je ne sais pas quoi rechercher.

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

Je crois que mon serveur utilisait MyISAM, mais pas à 100%.

Tout avis sera le bienvenu!

60
Brad

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

Il y a généralement un dossier {mysqlDirectory}/data

Stockage de données MySQL:

Commands.frm
Commands.myd
Commands.myi

Les fichiers * .frm contiennent les définitions de table. 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 porté à la question, voici plus d’informations que l’on trouve é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 saisir 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 

Merci @ marty-mcgee pour ce contenu

68
Udan

Sous Windows 7, la base de données MySQL est stockée sur

C:\ProgramData\MySQL\MySQL Server 5.6\data

Remarque: Ceci est un dossier caché. 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 pratique de connaître cet emplacement car parfois, MySQL Workbench ne parvient pas à supprimer les schémas (ou à importer des bases de données). Cela est principalement dû à la présence de fichiers dans les dossiers de la base de données qui, pour une raison quelconque, n'ont pas pu être supprimés lors d'un processus précédent par le Workbench. Supprimez les fichiers à l’aide de l’explorateur Windows et essayez à nouveau (déposer, importer), votre problème devrait être résolu. 

J'espère que cela t'aides :)

35
Julio

J'ai un fichier par défaut my-default.ini à la racine et une configuration de serveur est unique:

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

Donc ça ne me dit pas le chemin.

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

SHOW VARIABLES WHERE Variable_Name LIKE "%dir" ;

Voici le résultat de cela:

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 dira si vous utilisez InnoDb ou MyISAM.

11
Mukus

Pour Windows 7: c:\utilisateurs\tous les utilisateurs\MySql\serveur MySql x.x\Data \

Où x.x est le numéro de version du serveur SQL installé sur votre ordinateur.

Fidel

6
user3256430
3
codingbiz

Il suffit d’effectuer une recherche Windows pour les fichiers * .myi sur vos partitions locales. Période.

Comme je le soupçonnais, ils se trouvaient dans un dossier de fichiers programme, au lieu d'utiliser un dossier contenant uniquement des données, comme le font la plupart des autres gestionnaires de bases de données.

Pourquoi effectuer une recherche dans un fichier my.ini, l'ouvrir avec un éditeur, rechercher la chaîne de chemin d'accès, s'assurer de ne pas modifier le fichier de configuration (!), Puis effectuer une seconde recherche? Compliqué sans un avantage supplémentaire autre que de pratiquer la dactylographie.

2
AleDB

Je viens d'installer MySQL 5.7 sur Windows7. Les fichiers de base de données sont situés dans le répertoire suivant qui est caché: C:\ProgramData\MySQL\MySQL Server 5.7\Data

Le fichier my.ini se trouve à la même racine: C:\ProgramData\MySQL\MySQL Server 5.7

2
Erik

Il se trouve généralement dans le dossier spécifié ci-dessous, mais ProgramData est généralement un dossier caché. Pour l'afficher, allez dans le panneau de configuration, recherchez "dossier", puis, sous Paramètres avancés, cochez la case Afficher les fichiers cachés, puis cliquez sur appliquer.

2
B.K

en MySQL sont 
". myd" une base de données auto et 
". tmd" un fichier temporel.
Mais parfois, je vois aussi ".sql".

Cela dépend de vos paramètres et/ou de la méthode d'exportation.

1
Aleksandr Khomenko

1) Localisez le fichier my.ini, stocké dans le dossier d’installation de MySQL.

Par exemple,

C:\Program Files\MySQL\MySQL Server 5.1\my.ini

2) Ouvrez le fichier “my.ini” avec notre éditeur de texte de faveur.

#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.1/"

#Path to the database root/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data

Trouver le "datadir", c'est où MySQL stocke les données dans Windows.

0
Ami

C:\Fichiers de programme\MySQL\MySQL Workbench 6.3 CE\sys

collez URLin dans le fichier window, .__ et obtenez Tables, Procedures, Functions à partir de ce répertoire 

0
Muhammad Abbas

Si vous utilisez Win10 avec le serveur Xampp installé, vous pouvez trouver le dossier de données dans C:\xampp\mysql\data

Dans le dossier de données, chaque base de données possède son propre dossier, qui contient à son tour les fichiers .frm, .myi et .myd, qui représentent une seule table de la base de données.

Si, par exemple, vous avez créé une base de données avec le nom: myschool et à l'intérieur de la base de données, vous avez trois tables avec les noms:

  1. Garderie
  2. Primaire
  3. Secondaire

Ensuite, vous aurez pour la table de pépinière: nursery.frm, nursery.myi et nursery.myd. Idem ira pour les tables primaire et secondaire. Ainsi, dans le je mentionné ici, vous aurez un total de 9 fichiers dans le dossier de base de données nommé myschool .

Vous pouvez ensuite copier le dossier de base de données et l’utiliser dans votre nouveau dossier de données d’installation mysql.

J'espère que ça aide.

Meilleures salutations.

0
Saliu Muideen

MYSQL 8.0:

Recherchez my.ini sur le disque, nous allons trouver ce dossier:

C:\ProgramData\MySQL\MySQL Server 8.0
C'est ProgramData, pas Program file

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

Chaque database possède un dossier, chaque table est un fichier, chaque index est un fichier ou plus.

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

0
Dongdong