|
|
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:
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:
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:
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 rpmPróximo:Explicação da Tecnologia RAID - Comparação de RAID0, RAID1, RAID3, RAID5, RAID6, RAID10
|