Eu tenho um old_server
com 50 bancos de dados. Eu quero criar new_server
com apenas 3 bancos de dados.
Quando tento usar mysqldump
, parece que todos os diretórios do banco de dados (embora estejam vazios em new_server
) e muitos arquivos de suporte desnecessários para as outras 47 tabelas estão sendo copiados.
Existe alguma maneira de evitar isso (ou limpar depois, se inevitável)? Eu gostaria new_server
de estar o mais limpo possível, sem vestígios desses outros 47 bancos de dados, se possível.
Estou tentado a excluir esses arquivos e diretórios diretamente do sistema de arquivos (ou pelo menos movê-los temporariamente para /tmp), mas gostaria de evitar isso, se possível.
Acho que você está fazendo backup de todos os bancos de dados. Você só precisa fazer backup desses três bancos de dados. Use mysqldump como:
você pode ver várias opções do mysqldump usando
mysqldump --help.
No caso de você querer descartar os 47 bancos de dados que não queria no novo servidor, se todos tiverem apenas tabelas MyISAM, você pode descartá-los facilmente. Isso também recuperará o espaço.
Se os bancos de dados tiverem as tabelas InnoDB, você terá que ir com outro processo, porque apenas descartar o banco de dados não reclina o espaço da tabela InnoDB. Para isso, siga o link
Qual é a melhor maneira de reduzir o tamanho do ibdata no mysql?
Se você gostaria de detectar quais bancos de dados realmente contêm dados MySQL, você pode executar a seguinte consulta:
Qualquer banco de dados sem tabelas simplesmente não aparece no conjunto de resultados dessa consulta.
Como você mysqldump esses bancos de dados não vazios? Usando a consulta acima, assim:
De uma chance !!!