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_testistnieją pliki sufiks z .frm, .MYD, .MYIjak 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, .MYIgrupa 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_2i skopiuję każdy plik zdb_test_1katalogu dodb_test_2, czy utworzy on również nową bazę danych,db_test_2któ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_1oututwórz nową bazę danych
db_test_2następnie zrzucić
db_test_1bazę danych z powrotem do nowej bazy danychdb_test_2?
Jeśli tak, wydaje się, że przenoszenie plików jest znacznie szybsze niż przy mysqldumpkopiowaniu baz danych (lub importowaniu danych z jednego DB do innego DB w MySQL). Jakieś opinie na ten temat?
mysqldumpdbać w mniej niż 2 sekundy. Przywrócenie go jest powolne, zajmuje 5-10 minut.