Korzystam z bazy danych MySQL i maszyny z systemem Ubuntu Linux.
Moja baza danych o nazwie db_test
, zauważam, że w ramach ścieżki /var/lib/mysql/db_test
istnieją pliki sufiks z .frm
, .MYD
, .MYI
jak następuje:
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
customers.MYI
departments.frm
departments.MYD
departments.MYI
...
Wydaje się .frm
, że .MYD
, .MYI
grupa plików odwzorowana z jedną tabelą w bazie danych.
Mam dwa następujące pytania:
Co dokładnie robią trzy pliki?
Jeśli utworzę nowy katalog pod ścieżką,
/var/lib/mysql/
powiedzmydb_test_2
i skopiuję każdy plik zdb_test_1
katalogu dodb_test_2
, czy utworzy on również nową bazę danych,db_test_2
która ma dokładnie taką samą zawartość (tabele) jakdb_test_1
?
Czy ta fizycznie przesuwająca się operacja na plikach bazy danych daje taki sam wynik jak następujące akcje w wierszu poleceń:
dump bazy
db_test_1
oututwórz nową bazę danych
db_test_2
następnie zrzucić
db_test_1
bazę danych z powrotem do nowej bazy danychdb_test_2
?
Jeśli tak, wydaje się, że przenoszenie plików jest znacznie szybsze niż przy mysqldump
kopiowaniu baz danych (lub importowaniu danych z jednego DB do innego DB w MySQL). Jakieś opinie na ten temat?
mysqldump
dbać w mniej niż 2 sekundy. Przywrócenie go jest powolne, zajmuje 5-10 minut.