Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 27725|Resposta: 4

[Fonte] Backup regular de bancos de dados MySQL remotos em ambientes Linux

[Copiar link]
Publicado em 30/09/2021 14:42:47 | | | |
Backup agendado do banco de dados é indispensável para todo desenvolvedor, e dados de backup regulares podem resolver o problema de deletar acidentalmente alguns dados, que podem ser restaurados em um determinado momento e minimizar perdas.

O MySQL oferece uma ferramenta conveniente para exportar dados e arquivos de banco de dados da linha de comando, o mysqldump, que pode exportar bancos de dados pela linha de comando.

Revisar:

Resumos do banco de dados de importação e exportação do MySQLDUMP
https://www.itsvse.com/thread-4353-1-1.html

Use o MySQL para agendar automaticamente backups em um ambiente Windows
https://www.itsvse.com/thread-7412-1-1.html

[Reimpressão] Fazer backup regular de scripts para sites e bancos de dados sob Linux
https://www.itsvse.com/thread-4428-1-1.html

Backup e exportação de banco de dados MySQL
https://www.itsvse.com/thread-4004-1-1.html
Este artigo é utilizadoCentOS 7Ambiente, fazendo backup de bancos de dados remotos para o local via MySQLDUMP. Se executarmos o comando mysqldump diretamente, o erro será o seguinte:

-bash: mysqldump: comando não encontrado
Aqui é recomendado um pacote de terceiros de código aberto, Mydumper, uma ferramenta de backup e recuperação multithread de alto desempenho para MySQL e Drizzle. Mais rápido que a velocidade de backup e recuperação do mysqldump.

Endereço do GitHub:O login do hiperlink está visível.

O comando de instalação é o seguinte:

Fundamentos do ambiente Linux: a diferença entre instalar el6, el7 e el8 em pacotes rpm
https://www.itsvse.com/thread-10098-1-1.html
Dessa forma, tanto os comandos mydumper quanto myloader já podem ser usados, mydumper é responsável pela exportação e myloader é responsável pela importação, como mostrado na figura abaixo:



MydumperExplicação dos parâmetros

-B, --banco de dados O banco de dados a ser feito backup, se não especificado, faça backup de todas as bibliotecas
-T, --lista-tabelas. As tabelas que precisam ser feitas de backup, os nomes são separados por vírgulas
-o, --outputdir para fazer backup do diretório onde o arquivo é produzido
-s, --tamanho da instrução O número de bytes da instrução inserida gerada por --tamanho-instrução é 1000000 por padrão
-r, --linhas Ao dividir uma tabela em linhas, especifique o número de linhas de bloco; especificar essa opção desativará --chunk-filesize
-F, --tamanho de arquivo chunk. Ao dividir uma tabela por tamanho, o tamanho especificado do bloco em MB
-c, --comprimir comprimir comprimir o arquivo de saída
-e, --build-empty-files se os dados da tabela estiverem vazios, ou se ele produz um arquivo vazio (por padrão, sem dados, apenas o arquivo de estrutura da tabela)
-x, --regex é igual à expressão regular correspondente a 'db.table'
-Eu, --ignoro-engines ignoro motores de armazenamento e uso partições grossas
-m, --não-esquemas não fazem backup das estruturas de tabela
-k, --locks sem bloqueios não usam locks compartilhados temporários somente de leitura, e usar essa opção causará inconsistências de dados
--menos travamento reduz o tempo necessário para aplicar bloqueios às tabelas do InnoDB (a mecânica desse padrão é explicada em detalhes abaixo)
-l, --long-query-guard Defina o tempo de timeout para consultas longas que bloqueiam backups, em segundos, e o padrão é 60 segundos (o mydumper sai por padrão após o timeout).
--matar-consultas-longas matar consultas longas (sem sair)
-b, --binlogs exportação binlogs
-D, --modo daemon habilitar daemon, que faz backup do banco de dados em certos intervalos sem interrupção
-I, --snapshot-interval dump Tempo de intervalo de snapshot, padrão 60s, precisa estar no modo daemon
-L, --logfile usa o nome do log (o log gerado pelo mydumper) e usa a saída padrão por padrão
--tz-utc entre fusos horários é uma opção usada, não explicada
--skip-tz-utc Id
--use-savepoints Use os pontos de salvamento para reduzir o tempo de travamento causado pela coleta de metadados, o que requer permissões SUPER
--sucesso-em-1146 Não incrementar a contagem de erros e Aviso em vez de Crítico caso a tabela não exista
-h, --host O nome do host da conexão
-u, --usuário backup usuário usado
-p, --senha
-P, --porta de porta
-S, --socket O arquivo do soquete ao usar comunicação por soquete
-t, --threads O número padrão de threads de backup ativadas é 4
-C, --comprime-protocolo comprime dados que se comunicam com mysql
-V, --versão exibe o número da versão
-v, --padrão de informação de saída verboso, 0 = silencioso, 1 = erros, 2 = avisos, 3 = informação, padrão para 2
myloaderExplicação dos parâmetros

-d, --pasta de diretório para o arquivo de backup
-q, --consultas-por-transação O número de consultas executadas por objeto é 1000 por padrão
-o, --overwrite-tables Se a tabela a ser restaurada existir, elimine a tabela primeiro, use esse parâmetro e faça backup da estrutura da tabela quando precisar fazer backup
-B, --banco de dados O banco de dados que precisa ser restaurado
-e, --enable-binlog permite que logs binários restaurem dados
-h, --anfitrião
-u, --usuário restaurado
-p, --senha
-P, --porta de porta
-S, --arquivo de soquete
-t, --threads restaura o número de threads usadas, o padrão é 4
-C, --compress-protocol
-V, --versão exibe a versão
-v, --modo de saída prolixo, 0 = silencioso, 1 = erros, 2 = avisos, 3 = informação, padrão para 2
Backups de teste

O comando de exportação do banco de dados é o seguinte:



Após a execução, o mydumper criará um endereço de diretório especificado que passamos pelos parâmetros, que contém um arquivo de metadados que registra o nome do arquivo de log binário no momento do backup e o local onde o log foi escrito. Cada tabela possui dois backup files:database.table-schema.sql um arquivo de estrutura de tabela e database.table.sql arquivo de dados de tabela.

Backups programados

Os artigos de referência são os seguintes:

O CentOS 7 usa crontab para executar tarefas em intervalos regulares
https://www.itsvse.com/thread-9280-1-1.html
Vamos criar um novo script de shell chamado :backup_uat.sh, da seguinte forma:

Conceder permissões de execução:


Adicionar uma tarefa

A tarefa é realizada todos os dias às 00:10 da manhã



Recarregue a configuração

(Fim)





Anterior:Fundamentos do ambiente Linux: a diferença entre instalar el6, el7 e el8 em pacotes rpm
Próximo:Explicação da Tecnologia RAID - Comparação de RAID0, RAID1, RAID3, RAID5, RAID6, RAID10
 Senhorio| Publicado em 30/09/2021 17:03:15 |
Teste restaurando o banco de dados a partir do arquivo de backup

-o, --overwrite-tables Se a tabela a ser restaurada existir, elimine a tabela primeiro, use esse parâmetro e faça backup da estrutura da tabela quando precisar fazer backup


Esta ordem,Tabelas e dados recém-criados não são excluídos

Publicado em 02/10/2021 16:58:15 |
Estude muito e melhore a cada dia
 Senhorio| Publicado em 19/10/2022 21:07:56 |
[Combate real]. NET/C# implementa backups de banco de dados MySQL baseados em MySqlBackup.NET
https://www.itsvse.com/thread-10375-1-1.html
Publicado em 15/11/2022 18:19:56 |
Aprenda
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com