Estou usando o banco de dados MySQL e uma máquina Ubuntu Linux.
Meu banco de dados chamado db_test, percebo que sob caminho /var/lib/mysql/db_test, existem arquivos sufixo com .frm, .MYD, .MYIcomo segue:
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
customers.MYI
departments.frm
departments.MYD
departments.MYI
...
Parece cada .frm, .MYD, .MYIgrupo arquivos mapeados com uma tabela no banco de dados.
Tenho duas perguntas a seguir:
O que os três arquivos estão fazendo exatamente?
Se eu criar um novo diretório no caminho
/var/lib/mysql/digamosdb_test_2, e copiar todos os arquivos dodb_test_1diretório paradb_test_2, ele também criará um novo banco de dadosdb_test_2com exatamente o mesmo conteúdo (tabelas) quedb_test_1o do?
Essa ação de movimentação física dos arquivos do banco de dados cria o mesmo resultado que as seguintes ações da linha de comando:
despejar o banco de dados
db_test_1para foracrie um novo banco de dados
db_test_2despejar o
db_test_1banco de dados novamente no novo banco de dadosdb_test_2?
Nesse caso, parece que os arquivos em movimento são muito mais rápidos do que os usados mysqldumppara copiar bancos de dados (ou importar dados de um banco de dados para outro banco de dados no MySQL). Alguma opinião sobre isso?
mysqldumpmeu db em menos de 2 segundos. Restaurar é a parte mais lenta, levando de 5 a 10 minutos.