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
, .MYI
como 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
, .MYI
grupo 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_1
diretório paradb_test_2
, ele também criará um novo banco de dadosdb_test_2
com exatamente o mesmo conteúdo (tabelas) quedb_test_1
o 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_1
para foracrie um novo banco de dados
db_test_2
despejar o
db_test_1
banco 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 mysqldump
para copiar bancos de dados (ou importar dados de um banco de dados para outro banco de dados no MySQL). Alguma opinião sobre isso?
mysqldump
meu db em menos de 2 segundos. Restaurar é a parte mais lenta, levando de 5 a 10 minutos.Isso funcionará para o MyISAM, mas não para o InnoDB. Consulte /server//a/367321/57569
A partir dessa resposta, sobre o InnoDB:
fonte