Я использую базу данных MySQL и использую машину с Ubuntu Linux.
Моя база данных с именем db_test
, я заметил , что в пути /var/lib/mysql/db_test
, есть файлы , суффикс с .frm
, .MYD
, .MYI
как следующее:
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
customers.MYI
departments.frm
departments.MYD
departments.MYI
...
Кажется , каждый .frm
, .MYD
, .MYI
файлы группы сопоставляются с одной таблицей в базе данных.
У меня есть следующие два вопроса:
Что именно делают три файла?
Если я создам новый каталог,
/var/lib/mysql/
скажемdb_test_2
, путь , и скопирую каждый файл изdb_test_1
каталога вdb_test_2
, создаст ли он также новую базу данных,db_test_2
которая имеет точно такое же содержимое (таблицы), какdb_test_1
и?
Создает ли это физическое действие перемещения файлов базы данных тот же результат, что и следующие действия командной строки:
дамп базы данных
db_test_1
отказасоздать новую базу данных
db_test_2
затем сбросить
db_test_1
базу данных обратно в новую базу данныхdb_test_2
?
Если это так, кажется, что перемещение файлов происходит гораздо быстрее, чем использование mysqldump
для копирования баз данных (или для импорта данных из одной БД в другую БД в MySQL). Есть мнения по этому поводу?
mysqldump
мой БД менее чем за 2 секунды. Восстановление это медленная часть, занимающая 5-10 минут.Это будет работать для MyISAM, но не для InnoDB. См. Https://serverfault.com/a/367321/57569.
Из этого ответа о InnoDB:
источник