J'utilise la base de données MySQL et j'utilise une machine Ubuntu Linux.
Ma base de données nommée db_test, je remarque que sous chemin /var/lib/mysql/db_test, il y a des fichiers suffixe avec .frm, .MYD, .MYIcomme suit:
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
customers.MYI
departments.frm
departments.MYD
departments.MYI
...
Semble chacun .frm, .MYD, .MYIgroupe de fichiers mis en correspondance avec une table dans la base de données.
J'ai deux questions à poser:
Que font exactement les trois fichiers?
Si je crée un nouveau répertoire sous path
/var/lib/mysql/saydb_test_2, et que je copie chaque fichier dudb_test_1répertoire dansdb_test_2, cela créera-t-il également une nouvelle base de donnéesdb_test_2qui a exactement le même contenu (tables) quedb_test_1le sien?
Cette action de déplacement de fichiers de base de données physique crée-t-elle le même résultat que les actions de ligne de commande suivantes:
vider la base de données
db_test_1surcréer une nouvelle base de données
db_test_2puis vider la
db_test_1base de données dans la nouvelle base de donnéesdb_test_2?
Si c'est le cas, il semble que le déplacement de fichiers soit beaucoup plus rapide que celui utilisé mysqldumppour copier des bases de données (ou pour importer des données d'une base de données vers une autre base de données dans MySQL). Des opinions à ce sujet?
mysqldumpmon db en moins de 2 secondes. La restauration est la partie lente, qui prend 5 à 10 minutes.