Backups avançados para bancos de dados MySQL

Quando eles terminarem Backups de banco de dados MySQL, é comum usar o comando mysqldump sem opções. No entanto, este comando possui muitas opções interessantes que permitem realizar backups avançados.

Por padrão, o O comando mysqldump gera uma cópia da estrutura sql de todas as tabelas do banco de dados indicado, em um arquivo de texto sql. Para incluir apenas uma ou mais tabelas, insira seus nomes após o nome do banco de dados.

Na janela do terminal no diretório mysql:

 # Backup de tabela única $ mysqldump -user = user --password = table database key> backup_sql
 # Faça backup de três tabelas $ mysqldump -user = user --password = chave do banco de dados tabela1 tabela2 tabela3> backup_sql
Exemplos de 1 ou 3 tabelas.

1. Excluindo algumas tabelas do backup


Para não incluir uma tabela específica no backup, devemos indicá-la com a opção --ignore-table, cujo valor deve ser indicado

Se você estiver fazendo, por exemplo, um backup de um banco de dados chamado comércio, mas não quiser que uma tabela chamada vendas seja incluída, execute o seguinte comando:

 $ mysqldump --user = user - password = senha --ignore-table = merchant.sales comerciante> backup_back.sql 
Em outras palavras, copie todo o banco de dados comercial, exceto a tabela de vendas. Se quisermos excluir várias tabelas, devemos usar o seguinte comando:
 $ mysqldump --user = usuário --password = senha --ignore-table = commerce.sales --ignore-table = commerce.products --ignore-table = commerce. commerce prices> backup_copy.sql
(Para excluir várias tabelas, especifique seus nomes com tantas opções --ignore-table)

2. Limitando o número de registros em cada tabela


Por padrão, o comando mysqldump copiará todos os registros de todas as tabelas. Se você deseja filtrar previamente os registros, adicione a opção --where, que permite indicar a condição do tipo WHERE que é adicionada às consultas SELECT feitas para extrair todos os registros:
 $ mysqldump --user = user --password = password --where = "idade> 18 E idade backup_back.sql 
Se quisermos extrair apenas alguns registros do banco de dados, por exemplo, os primeiros 500
 $ mysqldump --user = user -password = password --where = "1 limite 500" banco de dados> backup.sql
Eles seriam extraídos com um limite de 500.

3. Copie apenas a estrutura das tabelas, mas não seus dados


Por padrão, o comando mysqldump descarta a estrutura das tabelas e todas as suas informações. Se você estiver interessado apenas em despejar a estrutura das tabelas e colunas, use a opção --no-data. Assim, você pode criar outro banco de dados exatamente igual, mas vazio:
 $ mysqldump --user = user --password = senha --no-data database> backup_sql
Normalmente, quando as inserções são geradas, elas são agrupadas em uma única instrução para salvar as linhas de código da seguinte maneira:
 INSERT INTO tabela VALUES (1, 'nome1'), (2, 'nome2'), (3, 'nome3');
Este é um comportamento que pode causar erros em sistemas mais antigos, incapazes de processar longas filas. Da mesma forma, você pode ter problemas com seu editor de texto ao tentar abrir um arquivo de backup que contém essas linhas longas.

Se formos confrontados com este caso, podemos adicionar a opção --extended-insert = false para fazer com que cada INSERT seja executado com sua própria instrução:

 $ mysqldump --user = user -password = senha --extended-insert = banco de dados falso> backup_sql
O resultado será o seguinte:
 INSERT INTO tabela VALUES (1, 'nome1'); INSERT INTO tabela VALUES (2, 'nome2'); INSERT INTO tabela VALUES (3, 'nome3'); 

Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave