Como fazer backup/restaurar o mysql/mariadb e o postgreSql usando 'Automysqlbackup' e 'AutoPostGresqlbackup'

Como fazer backup/restaurar o mysql/mariadb e o postgreSql usando 'Automysqlbackup' e 'AutoPostGresqlbackup'

Se você é um administrador de banco de dados (DBA) ou são responsáveis ​​por manter, fazer backup e restaurar bancos de dados, você sabe que não pode se dar ao luxo de perder dados. O motivo é simples: perder dados não significa apenas a perda de informações importantes, mas também pode danificar seus negócios financeiramente.

MySQL/Mariadb & PostgreSQL Backup/Restore

Por esse motivo, você deve sempre ter certeza de que:

1. Seus bancos de dados são backup de uma base periódica,
2. Esses backups são armazenados em um local seguro, e
3. Você realiza exercícios de restauração regularmente.

Esta última atividade não deve ser esquecida, pois você não deseja encontrar um problema importante sem ter praticado o que precisa ser feito em tal situação.

Neste tutorial, apresentaremos dois utilitários agradáveis ​​para fazer backup Mysql / Mariadb e PostGresql bancos de dados, respectivamente: automysqlbackup e AutoPostGresqlbackup.

Como o último é baseado no primeiro, focaremos nossa explicação em automysqlbackup e destacar diferenças com Autopgsqlbackup, se houver alguma.

É fortemente recomendável armazenar os backups em um compartilhamento de rede montado no diretório de backup para que, no caso de um acidente em todo o sistema, você ainda seja coberto.

Leia os seguintes guias úteis no MySQL:

Comandos de administração de banco de dados básicos do mysql mysql e comandos de restauração para administração de banco de dados

Instalando bancos de dados MySQL / Mariadb / PostgreSQL

1. Este guia assume que você deve ter Mysql / Mariadb / PostGresql Extembro em execução, se não, instale os seguintes pacotes:

Distribuições baseadas em Fedora:

# yum update && yum instalar mariadb mariadb-servidor mariadb-libs postgresql postgresql-server postgreSql-libs 

Debian e derivados:

# Aptitude Update && Aptitude Instale MariadB-Client Mariadb-Server Mariadb-Common PostgreSql-Client PostgreSql PostGresql-Common 

2. Você tem um teste Mysql / Mariadb / PostGresql banco de dados que você pode usar (você é aconselhado NÃO use também automysqlbackup ou AutoPostGresqlbackup em um ambiente de produção até você se familiarizar com essas ferramentas).

Caso contrário, crie dois bancos de dados de amostra e preenchi -los com dados antes de prosseguir. Neste artigo, usarei os seguintes bancos de dados e tabelas:

Mysql/mariadb
Criar banco de dados mariadb_db; Criar tabela Tecmint_tbl (UserID int Auto_increntry Primária Chave, nome de usuário Varchar (50), BOOL ISACTIVO); 
Crie MySQL Database PostGresql
Criar banco de dados postgresql_db; Crie Tabela Tecmint_tbl (Chave primária serial do usuário, nome de usuário VARCHAR (50), ISActive boolean); 
Crie banco de dados PostGresql

Instalando o AutomySQLbackup e o Autopgsqlbackup no CentOS 7 e Debian 8

3. Em Debian 8, Ambas as ferramentas estão disponíveis nos repositórios; portanto, instalá -las é tão simples quanto em execução:

# Aptitude Install Automysqlbackup AutoPostGresqlbackup 

Enquanto que entra CENTOS 7 Você precisará baixar os scripts de instalação e executá -los. Nas seções abaixo, vamos nos concentrar exclusivamente na instalação, configuração e teste dessas ferramentas em CENTOS 7 Desde para Debian 8 - Onde eles quase trabalham fora da caixa, faremos os esclarecimentos necessários posteriormente neste artigo.

Instalando e configurando o AutomySQLbackup no CentOS 7

4. Vamos começar criando um diretório de trabalho dentro /optar Para baixar o script de instalação e executá -lo:

# mkdir/opt/automysqlbackup # cd/opt/automysqlbackup # wget http: // ufpr.dl.sourceforge.net/Project/Automysqlbackup/Automysqlbackup/Automysqlbackup%20Ver%203.0/AutomySQLbackup-V3.0_RC6.alcatrão.gz # tar zxf automysqlbackup-v3.0_RC6.alcatrão.GZ # ./instalar.sh 

.
Instalando o AutomysQLbackup no CentOS-7

5. O arquivo de configuração para automysqlbackup está localizado dentro /etc/automysqlbackup sob o nome MyServer.conf. Vamos dar uma olhada nas diretivas de configuração mais relevantes:

MyServer.conf - configure automysqlbackup
# Nome de usuário para acessar o MySQL Server config_mysql_dump_username = 'raiz' # Senha config_mysql_dump_password ='Seu masspordhere' # Nome do host (ou endereço IP) do MySQL Server config_mysql_dump_host ='LocalHost' # Backup Directory config_backup_dir ='/var/backup/db/automysqlbackup' # Lista de bancos de dados para backup diário/semanal e.g. ('Db1 "db2" db3'…) # definido como (), eu.e. vazio, se você deseja fazer backup de todos os bancos de dados config_db_names = (Nomes de addyourdatabase aqui) # Lista de bancos de dados para backups mensais. # definido como (), eu.e. vazio, se você deseja fazer backup de todos os bancos de dados config_db_month_names = (Nomes de addyourdatabase aqui) # Em que dia você deseja backups mensais? (01 a 31) # Se o dia escolhido for maior que o último dia do mês, será feito # no último dia do mês. # Definido como 0 para desativar backups mensais. Config_do_monthly = "01" # Em que dia você quer backups semanais? (1 a 7 onde 1 é segunda -feira) # definido como 0 para desativar backups semanais. Config_do_weekly = "5" # Defina a rotação de backups diários. Valor*24 horas # Se você quiser manter apenas os backups de hoje, você pode escolher 1, eu.e. Tudo com mais de 24 horas será removido. Config_rotation_daily =6 # Defina a rotação para backups semanais. Valor*24 horas. Um valor de 35 significa 5 semanas. Config_rotation_weekly =35 # Defina a rotação para backups mensais. Valor*24 horas. Um valor de 150 significa 5 meses. Config_rotation_monthly =150 # Incluir uma instrução CREATE DATABASE no backup? Config_mysql_dump_create_database ='não' # Diretório de backup separado e arquivo para cada banco de dados? (sim ou não) config_mysql_dump_use_separate_dirs ='sim' # Escolha o tipo de compactação. (gzip ou bzip2) config_mysql_dump_compression ='gzip' # O que você gostaria de ser enviado para você? # - LOG: Envie apenas o arquivo de log # - Arquivos: Envie o arquivo de log e os arquivos SQL como anexos (consulte os documentos) # - stdout: Simplesmente produzirá o log na tela se executar manualmente. # - Quiet: Envie apenas logs se ocorrer um erro ao MailAddr. Config_mailContent ='quieto' # Endereço de e -mail para enviar e -mail para? ([email protegido]) config_mail_address ='raiz' # Deseja criptografar seus backups usando o OpenSSL? # Config_encrypt = 'não' # Escolha uma senha para criptografar os backups. #Config_encrypt_password = 'senha0123' #comando para executar antes de backups (não nomear) #config_prebackup = "/etc/mysql-backup-pre" #comando após backups (não use) #config_postbackup = "/etc//mysql-backup -publicar" 

Depois de configurar automysqlbackup Conforme suas necessidades, você está altamente aconselhado a verificar o Leia-me arquivo encontrado em /etc/automysqlbackup/readme.

Backup de banco de dados MySQL

6. Quando estiver pronto, vá em frente e execute o programa, passando o arquivo de configuração como argumento:

# automysqlbackup/etc/automysqlbackup/myServer.conf 
Configure automysqlbackup no CentOS 7

Uma rápida inspeção do diário diretório mostrará que automysqlbackup correu com sucesso:

# pwd # ls -lr diariamente 
Backup de banco de dados diário do MySQL

Claro que você pode adicionar uma entrada crontab para executar automysqlbackup em uma hora do dia que melhor atende às suas necessidades (1:30 estou todos os dias no exemplo abaixo):

30 01 * * */usr/local/bin/automysqlbackup/etc/automysqlbackup/myserver.conf 

Restaurando um backup do MySQL

7. Agora vamos deixar cair o mariadb_db Banco de dados de propósito:

DOLLHE MARIADB DATABASE

Vamos criá -lo novamente e restaurar o backup. No prompt de mariadb, digite:

Criar banco de dados mariadb_db; saída 

Em seguida, localize:

# cd/var/backup/db/automysqlbackup/diário/mariadb_db # ls 
Localize o backup do banco de dados MariaDB

E restaure o backup:

# mysql -u root -p mariadb_db use mariadb_db; Mariadb [(nenhum)]> selecione * de tecmint_tb1; 
Restaure o backup do mariadb

Instalando e configurando o AutoPostGresqlbackup no CentOS 7

8. Para AutoPostGresql trabalhar perfeitamente em CENTOS 7, Precisamos instalar algumas dependências primeiro:

# yum instalar mutt sendmail 

Então vamos repetir o processo como antes:

# mkdir/opt/autopostgresqlbackup # cd/opt/autopostgresqlbackup # wget http: // ufpr.dl.sourceforge.net/Project/Autopgsqlbackup/AutoPostGresqlbackup/AutoPostGresqlbackup-1.0/AutoPostGresqlbackup.sh.1.0 # MV AutoPostGresqlbackup.sh.1.0/opt/AutoPostGresqlbackup/AutoPostGresqlbackup.sh 

Vamos fazer o script executável e começar / habilitar o serviço:

# chmod 755 AutoPostGresqlbackup.sh # SystemCtl Iniciar PostGresql # SystemCtl Ativar PostGresql 

Finalmente, editaremos o valor da configuração do diretório de backup para:

AutoPostGresqlbackup.SH - Configure AutoPostGresqlbackup
Backupdir = "/var/backup/db/autopostgresqlbackup" 

Depois de passar pelo arquivo de configuração de automysqlbackup, Configurar esta ferramenta é muito fácil (essa parte da tarefa é deixada para você).

9. Em CENTOS 7, em oposição a Debian 8, AutoPostGresqlbackup é melhor correr como o PostGres Usuário do sistema, portanto, para fazer isso, você deve mudar para essa conta ou adicionar uma tarefa cron ao seu arquivo Crontab:

# Crontab -u PostGres -e 
30 01 * * */opt/AutoPostGresqlbackup/AutoPostGresqlbackup.sh 

O diretório de backup, a propósito, precisa ser criado e suas permissões e propriedade do grupo devem ser definidas de forma recursiva para 0770 e PostGres (novamente, isso não será necessário em Debian):

# mkdir/var/backup/db/autopostgresqlbackup # chmod -r 0770/var/backup/db/autopostgresqlbackup # chgrp -r postgres/var/backup/db/autopostgresqbackup 

O resultado:

# cd/var/backup/db/autopoSTGRESQLbackup # pwd # ls -lr diariamente 
Backup de banco de dados diário PostGresql

10. Agora você pode restaurar os arquivos quando necessário (lembre -se de fazer isso como PostGres do usuário depois de recriar o banco de dados vazio):

# Gunzip -C PostgreSQL_DB_2015-09-02.Quarta-feira.SQL.gz | PSQL POSTGRESQL_DB 

Considerações no Debian 8

Como mencionamos anteriormente, não apenas a instalação dessas ferramentas em Debian é mais direto, mas também suas respectivas configurações. Você encontrará os arquivos de configuração em:

  1. Automysqlbackup:/etc/default/automysqlbackup
  2. AutoPostGresqlbackup:/etc/default/AutoPostGresqlbackup

Resumo

Neste artigo, explicamos como instalar e usar automysqlbackup e AutoPostGresqlbackup (Aprendendo a usar o primeiro ajudará você a dominar o segundo), duas ótimas ferramentas de backup de banco de dados que podem tornar suas tarefas como um DBA ou administrador / engenheiro do sistema.

Observe que você pode expandir este tópico configurando notificações por e -mail ou enviar arquivos de backup como anexos por e -mail - não é necessário estritamente, mas pode ser útil às vezes.

Como nota final, lembre -se de que as permissões de arquivos de configuração devem ser definidas para o mínimo (0600 na maioria dos casos). Estamos ansiosos para ouvir o que você pensa sobre este artigo. Sinta -se à vontade para nos deixar uma nota usando o formulário abaixo.