Como um dos principais bancos de dados disponíveis gratuitamente, o MySQL é uma escolha popular para todos os tipos de aplicativos da web. Estando exposto à Internet, seu aplicativo está exposto a ataques maliciosos. Se o seu servidor estiver comprometido, na melhor das hipóteses você precisará reinstalar seu aplicativo; Na pior das hipóteses, você pode perder seus dados completamente. Você também estará em uma situação em que precisará migrar um banco de dados de um servidor para outro.
O que é o mysqldump usado para?
o mysqldump ferramenta você tem coberto para essas duas situações. Sua função básica é pegar um banco de dados MySQL e "despejá-lo" como um arquivo de texto. Mas não apenas qualquer arquivo de texto … o arquivo é um conjunto de instruções SQL. Essas instruções, quando executadas, reconstruirão seu banco de dados para o estado exato em que estavam quando você executou o despejo.
Então você pode usar mysqldump para levar as exportações de um banco de dados. Estes podem ser para fins de backups, ou porque você está movendo o banco de dados para um novo host. Em ambos os casos, você vai em algum momento importar o arquivo de texto de volta para um servidor de banco de dados MySQL. Ele executará todas as instruções SQL no arquivo, o que reconstruirá seu banco de dados para seu estado original. Esta parte não usa realmente o mysqldump comando, mas não seria possível sem este utilitário!
Os documentos do MySQL listam outros métodos de fazer backups, mas todos eles têm suas próprias desvantagens:
- Hotcopy de um banco de dados do MySQL Enterprise é uma ótima maneira de obter esses backups … se você não se importar com o preço da Empresa.
- Copiar os diretórios de dados do banco de dados pode ser complicado se você estiver passando por sistemas operacionais, pois seus destinos serão diferentes.
- Exportar para um arquivo de texto delimitado fornecerá o conteúdo, mas você mesmo terá que recriar a estrutura. E é melhor você acertar …
- Você pode frequentemente fazer backup de bancos de dados de programas GUI como o MySQL Workbench. Mas isso é um processo manual, ou seja, não é algo que você pode criar scripts ou incluir em um trabalho em lote.
Instalando a Ferramenta mysqldump
Se você estiver interessado neste artigo, é provável que você já tenha o MySQL instalado. Se for esse o caso, boas notícias - você já tem mysqldump! Se não, você pode simplesmente instalar o MySQL da maneira padrão para o seu sistema operacional.
Para o Windows, confira nossas instruções aqui para instalar o MySQL no Windows 7 (o processo de instalação ainda é muito parecido). Da mesma forma no macOS, veja nossas instruções para instalar o MySQL no macOS 10.7 (novamente, mais antigo, mas ainda aplicável). Os usuários de sistemas Linux baseados no Ubuntu podem usar o seguinte comando para instalar o cliente e os utilitários do MySQL:
sudo apt instalar o mysql-client Uma vez instalado, você pode usar mysqldump para obter um backup completo do seu banco de dados. mysqldump -h nome do host do banco de dados ou IP -u o nome do usuário do banco de dados -p nome do banco de dados> db_backup.sql
Vamos quebrar este comando um pouco: Quando terminar, você terá um arquivo .SQL. Este é apenas um arquivo de texto contendo instruções SQL. Você pode abri-lo em qualquer editor de texto para inspecionar o conteúdo. Olhando para uma exportação de um banco de dados WordPress, você pode ver como esses arquivos são colocados juntos. O arquivo é dividido em seções. Na imagem acima, podemos ver a primeira seção configura a tabela para comentários do WordPress. A segunda seção, em seguida, recria o conteúdo (ou seja, registros de comentários) que estava nessas tabelas. Quando você for reimportar seu MySQL dump novamente, o comando irá trabalhar através do arquivo, executando as instruções e reconstruindo seu banco de dados da maneira que estava. Então, como você faz isso? Vamos dar uma olhada. Antes de poder fazer isso, você precisará de um banco de dados já criado e ter um nome de usuário e senha válidos. Você também deve ter todas as permissões para o banco de dados. (Estritamente falando, você não precisa do CONCEDER permissão, mas é mais fácil apenas conceder a todos eles.) Você pode encontrar detalhes sobre permissões de banco de dados neste artigo. Para reimportar seus dados, siga estas etapas: Quando terminar, você verá uma longa lista de mensagens observando que as instruções SQL estão sendo executadas. Fique atento a erros, mas se você tiver as permissões certas, você deve estar bem, pois é um banco de dados em branco. Quando o processo estiver concluído, você terá uma cópia do banco de dados original. Você pode verificar isso fazendo outro dump e comparando as duas saídas. Um editor de texto decente será capaz de fazer isso para você, ou uma ferramenta dedicada * diff * como a mostrada na imagem abaixo: Existem apenas duas diferenças entre esses arquivos, representados por linhas vermelhas na parte superior e inferior da barra de rolagem direita. A primeira é a linha que contém o nome do banco de dados e esperamos que isso seja diferente, porque os nomeamos de forma diferente. O segundo, todo o caminho no final, é o timestamp do arquivo de despejo. E também esperamos que isso seja diferente, já que recriamos o segundo banco de dados após o primeiro. Caso contrário, os arquivos são exatamente os mesmos, ou seja, os bancos de dados que os geraram também! Extraindo um Despejo MySQL
Importando um arquivo de despejo do MySQL