Cómo hacer una copia de seguridad/restaurar MySQL/Mariadb y PostgreSQL usando las herramientas 'AutomySQLBackUp' y 'AutoPostGresqlBackUp'

Cómo hacer una copia de seguridad/restaurar MySQL/Mariadb y PostgreSQL usando las herramientas 'AutomySQLBackUp' y 'AutoPostGresqlBackUp'

Si es un administrador de base de datos (Dba) o son responsables de mantener, hacer una copia de seguridad y restaurar bases de datos, sabe que no puede permitirse perder datos. La razón es simple: perder datos no solo significa la pérdida de información importante, sino que también puede dañar financieramente su negocio.

Mysql/mariadb & postgresql copia de seguridad/restauración

Por esa razón, siempre debes asegurarte de que:

1. Sus bases de datos están respaldadas por periódica,
2. Esas copias de seguridad se almacenan en un lugar seguro y
3. Realiza ejercicios de restauración regularmente.

Esta última actividad no debe pasarse por alto, ya que no desea encontrarse con un problema importante sin haber practicado lo que debe hacerse en tal situación.

En este tutorial le presentaremos dos buenos servicios para respaldar Mysql / Mariada y Postgresql bases de datos, respectivamente: AutomySqlBackUp y autopostgresqlbackup.

Dado que este último se basa en el primero, centraremos nuestra explicación en AutomySqlBackUp y resaltar las diferencias con autopgsqlbackup, Si es alguno en absoluto.

Se recomienda encarecidamente almacenar las copias de seguridad en una receta de redes montadas en el directorio de copia de seguridad para que en caso de un bloqueo de todo el sistema, aún esté cubierto.

Lea las siguientes guías útiles en MySQL:

Comandos de administración de bases de datos básicas de MySQL MySQL Copia de seguridad y restauración de MySQL para la administración de bases de datos PHPMyBackupPro: una herramienta de copia de seguridad MySQL basada en la web MySQLDUMPER: una herramienta de copia de seguridad de bases de datos MYSQL basada en PHP y PERL

Instalación de bases de datos MySQL / MariadB / PostgreSQL

1. Esta guía asume que debes tener Mysql / Mariada / Postgresql Instancia en ejecución, si no, instale los siguientes paquetes:

Distribuciones basadas en Fedora:

# yum Update && Yum Instale Mariadb Mariadb-Server Mariadb-Libs Postgresql Postgresql-server PostgreSQL-LIBS 

Debian y derivados:

# Aptitude Update && Aptitude Instale mariadb-client mariadb-server mariadb-common postgresql-client postgresql postgresql-common 

2. Tienes una prueba Mysql / Mariada / Postgresql base de datos que puede usar (se le recomienda NO utilizar cualquiera AutomySqlBackUp o autopostgresqlbackup en un entorno de producción hasta que se haya familiarizado con estas herramientas).

De lo contrario, cree dos bases de datos de muestra y llénelas con datos antes de continuar. En este artículo usaré las siguientes bases de datos y tablas:

Mysql/mariadb
Crear base de datos mariadb_db; Crear tabla TECMINT_TBL (UserId int Auto_Increment Key primario, nombre de usuario Varchar (50), Isactive Bool); 
Crear base de datos MySQL PostgreSQL
Crear base de datos PostgreSQL_DB; Crear tabla TECMINT_TBL (Clave primaria serial de usuarioid, nombre de usuario Varchar (50), booleano isactivo); 
Crear base de datos PostgreSQL

Instalación de AutomySqlBackUp y AutoPgSQLBackUp en CentOS 7 y Debian 8

3. En Debian 8, Ambas herramientas están disponibles en los repositorios, por lo que instalarlas es tan simple como en ejecución:

# aptitude install automysqlbackup autopostgresqlbackup 

Mientras en Centos 7 Deberá descargar los scripts de instalación y ejecutarlos. En las secciones a continuación nos centraremos exclusivamente en instalar, configurar y probar estas herramientas en Centos 7 desde hace Debian 8 - Donde casi trabajan fuera de la caja, haremos las aclaraciones necesarias más adelante en este artículo.

Instalación y configuración de AutomySQLBackUp en CentOS 7

4. Comencemos creando un directorio de trabajo en el interior /optar Para descargar el script de instalación y ejecutarlo:

# mkdir/opt/automysqlbackup # cd/opt/automysqlbackup # wget http: // UFPR.DL.Fuente de la fuente.Net/Project/AutomySQLBackUp/AutomySQLBackUp/AutomySQLBackUp%20ver%203.0/AutomySQLBackUp-V3.0_RC6.alquitrán.GZ # TAR ZXF AUTOMYSQLBACKUP-V3.0_RC6.alquitrán.GZ # ./instalar.mierda 

.
Instalación de AutomySqlBackup en CentOS-7

5. El archivo de configuración para AutomySqlBackUp se encuentra en el interior /etc/automysqlbackup bajo el nombre myserver.confusión. Echemos un vistazo a las directivas de configuración más relevantes:

myserver.conf - configure automysqlbackup
# Nombre de usuario para acceder al servidor mysql config_mysql_dump_username = 'raíz' # Password config_mysql_dump_password ='Tu Pasado de Pasas' # Nombre de host (o dirección IP) del servidor MySQL config_mysql_dump_host ='hostil' # Director de copia de seguridad config_backup_dir ='/var/backup/db/automysqlbackup' # Lista de bases de datos para la copia de seguridad diaria/semanal E.gramo. ('Db1 "db2" db3' ...) # establecido en (), yo.mi. vacío, si desea hacer una copia de seguridad de todas las bases de datos config_db_names = (ADDYOURDATABASE Nombres aquí) # Lista de bases de datos para copias de seguridad mensuales. # establecido en (), yo.mi. vacío, si desea hacer una copia de seguridad de todas las bases de datos config_db_month_names = (ADDYOURDATABASE Nombres aquí) # ¿Qué día quieres copias de seguridad mensuales?? (01 a 31) # Si el día elegido es mayor que el último día del mes, se realizará # el último día del mes. # Establecer en 0 para deshabilitar las copias de seguridad mensuales. Config_do_monthly = "01" # En qué día quieres copias de seguridad semanales? (1 a 7 donde 1 es el lunes) # establecido en 0 para deshabilitar las copias de seguridad semanales. Config_do_weekly = "5" # Establece la rotación de copias de seguridad diarias. Valor*24 horas # Si quieres mantener solo las copias de seguridad de hoy, puedes elegir 1, yo.mi. todo mayor de 24 horas será eliminado. Config_rotation_daily =6 # Establecer rotación para copias de seguridad semanales. Valor*24 horas. Un valor de 35 significa 5 semanas. Config_rotation_weekly =35 # Establecer rotación para copias de seguridad mensuales. Valor*24 horas. Un valor de 150 significa 5 meses. Config_rotation_monthly =150 # Incluir la declaración Crear base de datos en la copia de seguridad? Config_mysql_dump_create_database ='No' # Directorio de respaldo separado y archivo para cada DB? (sí o no) config_mysql_dump_use_separate_dirs ='Sí' # Elija Tipo de compresión. (GZIP o BZIP2) config_mysql_dump_compression ='Gzip' # ¿Qué te gustaría que te enviaran por correo?? # - Registro: Envíe solo el archivo de registro # - Archivos: envíe el archivo de registro y los archivos sql como archivos adjuntos (ver documentos) # - stDout: simplemente emitirá el registro a la pantalla si se ejecuta manualmente. # - Quiet: solo envíe registros si se produce un error al mailaddr. Config_mailContent ='tranquilo' # Dirección de correo electrónico para enviar correo a? ([correo electrónico protegido]) config_mail_address ='raíz' # ¿Desea cifrar sus copias de seguridad usando OpenSSL?? # Config_encrypt = 'no' # Elija una contraseña para cifrar las copias de seguridad. #Config_encrypt_password = 'contraseña0123' #comando para ejecutar antes de las copias de seguridad (uncomment para usar) #config_prebackup = "/etc/mysql-backup-pre" #comando ejecutar después de copias de seguridad (Uncomment to use) #config_postbackup = "/etc/mysql-backup -correo" 

Una vez que haya configurado AutomySqlBackUp Según sus necesidades, está muy recomendado que consulte el Readme Archivo encontrado en /etc/automysqlbackup/readme.

Copia de seguridad de la base de datos MySQL

6. Cuando esté listo, continúe y ejecute el programa, pasando el archivo de configuración como argumento:

# AutomySqlbackup/etc/AutomySqlbackup/MyServer.confusión 
Configurar AutomySqlBackUp en CentOS 7

Una inspección rápida del a diario El directorio mostrará que AutomySqlBackUp se ha ejecutado con éxito:

# pwd # ls -lr diario 
Copia de seguridad de la base de datos diaria de MySQL

Por supuesto que puede agregar una entrada de crontab para ejecutar AutomySqlBackUp a la hora del día que mejor se adapte a sus necesidades (1:30 Estoy todos los días en el siguiente ejemplo):

30 01 * * */usr/local/bin/automysqlbackup/etc/automysqlbackup/myserver.confusión 

Restaurando una copia de seguridad de MySQL

7. Ahora dejemos caer el mariadb_db base de datos a propósito:

Soltar la base de datos de mariadb

Vamos a crearlo de nuevo y restaurar la copia de seguridad. En la solicitud de MariaDB, escriba:

Crear base de datos mariadb_db; salida 

Luego localizar:

# CD/VAR/Backup/DB/AutomySQLBackUp/Daily/Mariadb_DB # LS 
Localice la copia de seguridad de la base de datos Mariadb

Y restaurar la copia de seguridad:

# mysql -u root -p mariadb_db use mariadb_db; Mariadb [(ninguno)]> seleccionar * de tecMint_tb1; 
Restaurar la copia de seguridad de Mariadb

Instalación y configuración de autopostgresqlbackup en Centos 7

8. Para poder AutoPostgresql trabajar sin problemas en Centos 7, Primero tendremos que instalar algunas dependencias:

# yum install Mutt Sendmail 

Luego repitamos el proceso como antes:

# mkdir/opt/autopostgresqlbackup # cd/opt/autopostgresqlbackup # wget http: // ufpr.DL.Fuente de la fuente.Net/Project/AutopgSQLBackUp/Autopostgresqlbackup/Autopostgresqlbackup-1.0/autopostgresqlbackup.mierda.1.0 # mv autopostgresqlbackup.mierda.1.0/opt/autopostgresqlbackup/autopostgresqlbackup.mierda 

Hagamos que el script sea ejecutable y comenzar / permitir el servicio:

# CHMOD 755 AutoPostGresqlBackup.SH # SystemCTL Inicio Postgresql # SystemCTL Habilitar PostgreSQL 

Finalmente, editaremos el valor de la configuración del directorio de respaldo a:

autopostgresqlbackup.SH - Configurar autopostgresqlbackup
Backupdir = "/var/backup/db/autopostgresqlbackup" 

Después de tener a través del archivo de configuración de AutomySqlBackUp, Configurar esta herramienta es muy fácil (esa parte de la tarea se le deja).

9. En Centos 7, Opuesto a Debian 8, autopostgresqlbackup es mejor correr como el post -put Usuario del sistema, por lo tanto, para hacerlo, debe cambiar a esa cuenta o agregar un trabajo cron a su archivo CRONTAB:

# Crontab -u Postgres -E 
30 01 * * */opt/autopostgresqlbackup/autopostgresqlbackup.mierda 

El directorio de copia de seguridad, por cierto, debe crearse y sus permisos y propiedad del grupo deben establecerse de manera recursiva para 0770 y post -put (de nuevo, esto no será necesario en Debian)

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

El resultado:

# CD/var/backup/db/autopostgresqlbackup # pwd # ls -lr diario 
Copia de seguridad de la base de datos diaria de PostgreSQL

10. Ahora puede restaurar los archivos cuando sea necesario (recuerde hacer esto como Postgress del usuario después de recrear la base de datos vacía):

# gunzip -c postgresql_db_2015-09-02.Miércoles.sql.GZ | PSQL PostgreSQL_DB 

Consideraciones en Debian 8

Como mencionamos anteriormente, no solo la instalación de estas herramientas en Debian es más sencillo, pero también sus respectivas configuraciones. Encontrará los archivos de configuración en:

  1. AutomySqlBackUp:/etc/default/automysqlbackup
  2. Autopostgresqlbackup:/etc/default/autopostgresqlbackup

Resumen

En este artículo hemos explicado cómo instalar y usar AutomySqlBackUp y autopostgresqlbackup (Aprender a usar el primero lo ayudará a dominar el segundo), dos excelentes herramientas de respaldo de la base de datos que pueden facilitar sus tareas como DBA o administrador / ingeniero del sistema.

Tenga en cuenta que puede ampliar este tema configurando Notificaciónes de Correo Electrónico o enviar archivos de copia de seguridad como archivos adjuntos por correo electrónico, no se requiere estrictamente, pero a veces puede ser útil a veces.

Como nota final, recuerde que los permisos de los archivos de configuración deben establecerse en el mínimo (0600 en la mayoría de los casos). Esperamos escuchar lo que piensa sobre este artículo. Siéntase libre de dejarnos una nota usando el formulario a continuación.