mysqldump
gera comandos SQL que eliminam tabelas (se existirem), criam-nas e, em seguida, preenchem as tabelas uma linha por vez. Cada declaração é executada assim que é lida; isso inclui a atualização dos índices apropriadamente após cada instrução e a execução de qualquer registro que você tenha configurado. Ele é extremamente robusto e portátil e, portanto, maravilhoso para backup, mas é um mecanismo de transferência tão ineficiente quanto possível.
Se você estiver lidando com o conjunto de bancos de dados inteiro , poderá causar um curto-circuito nesse processo simplesmente copiando os arquivos do banco de dados (geralmente encontrados em /var/lib/mysql
). O formato binário para os mecanismos de armazenamento mais populares é portátil entre as arquiteturas, tornando uma cópia de arquivo relativamente robusta. No entanto, certifique-se de tomar medidas para impedir que os dados sejam alterados enquanto você copia, bloqueando as tabelas ou simplesmente encerrando o MySQL até que o processo de cópia (ou arquivamento) seja concluído.
Note que o MyISAM armazena todos os seus arquivos dentro do subdiretório do esquema, então /var/lib/mysql/mydb/
conterá tudo o que você precisa para o esquema ("banco de dados") chamado mydb
. Basta copiar esse subdiretório para o outro servidor e pronto. No entanto, por padrão, as tabelas InnoDB armazenam seus dados em /var/lib/mysql/ibdata*
e /var/lib/mysql/ib_logfile*
, compartilhando esses arquivos entre todas as outras várias tabelas InnoDB no servidor. Então, se você estiver usando o InnoDB, mysqldump
é sua única opção realmente segura, a menos que você esteja transferindo tudo .