Ich verwende eine MySQL-Datenbank und einen Ubuntu Linux-Computer.
Meine Datenbank mit dem Namen db_test
, merke ich , dass unter dem Pfad /var/lib/mysql/db_test
gibt es Dateien Suffix mit .frm
, .MYD
, .MYI
wie folgt vor :
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
customers.MYI
departments.frm
departments.MYD
departments.MYI
...
Scheint jeden .frm
, .MYD
, .MYI
Dateien Gruppe mit einer Tabelle in der Datenbank abgebildet.
Ich habe zwei Fragen zu stellen:
Was genau machen die drei Dateien?
Wenn ich ein neues Verzeichnis unter Pfad erstellen
/var/lib/mysql/
sagendb_test_2
, und kopieren Sie alle Dateien ausdb_test_1
Verzeichnisdb_test_2
, wird es auch eine neue Datenbank erstellen ,db_test_2
die exakt den gleichen Inhalt (Tabellen) wie hatdb_test_1
‚s?
Erzeugt diese Aktion zum Verschieben von Datenbankdateien physisch dasselbe Ergebnis wie die folgenden Befehlszeilenaktionen:
Dump die Datenbank
db_test_1
ausErstellen Sie eine neue Datenbank
db_test_2
dann werfen Sie das
db_test_1
in die neue Datenbank - Datenbank zurückdb_test_2
?
In diesem Fall scheint das Verschieben von Dateien viel schneller mysqldump
zu sein als das Kopieren von Datenbanken (oder das Importieren von Daten von einer Datenbank in eine andere Datenbank in MySQL). Irgendwelche Meinungen dazu?
mysqldump
meine Datenbank in weniger als 2 Sekunden. Das Wiederherstellen ist der langsame Teil, der 5-10 Minuten dauert.Dies funktioniert für MyISAM, jedoch nicht für InnoDB. Siehe /server//a/367321/57569
Aus dieser Antwort über InnoDB:
quelle