Resumen del uso de la herramienta de copia de seguridad MySQL innobackupex

prefacio


En el proceso de copia de seguridad de MySQL y creación de bases de datos esclavas, usamos principalmente mysqldump para bases de datos relativamente pequeñas, lo cual es simple y conveniente. Pero cuando crea una biblioteca esclava en una base de datos grande y el host de la base de datos no tiene un buen almacenamiento para cumplir con los requisitos de respaldo, debe usar innobackupex para ayudarlo a hacer una copia de seguridad, e incluso puede usarlo para construir un esclavo MySQL biblioteca, que es muy simple.

1. Copia de seguridad y recuperación de MySQL innobackupex


1.1 Comprimir xbsteam para empaquetar y comprimir para copia de seguridad y recuperación

  • respaldo
    innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --stream=xbstream --compress /data/backup/ > /data/backup/full.xbstream
    
  • descomprimir xbstream
    xbstream -x < /data/backup/full.xbstream -C /data/backup_qp/
    
  • descomprimir qp
    innobackupex --descomprimir /datos/backup_qp
    
  • eliminar archivo qp
    encontrar /datos/copia de seguridad -nombre "*.qp" | xargs rm
    

Nota: si el informe no puede encontrar qpress, primero debe instalarloqpress

1.2 Copia de seguridad y restauración usando tar gzip

  • respaldo
    innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --stream=tar /data/backup/ |gzip > /data/backup/full.tar.gz
    
  • abrir la cremallera
    tar -zxvf /data/backup/full.tar.gz -C /data/backup_targz
    

1.3 Copia de seguridad y restauración usando tar bzip

  • respaldo
    innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --stream=tar /data/backup/ |bzip2 > /data/backup/full.tar.bz2
    
  • abrir la cremallera
    tar -jxvf /data/backup/full.tar.gz -C /data/backup_tarbz
    

Los tamaños de varios archivos de respaldo son los siguientes. Se encontró que el método de compresión de bz2 es el más pequeño. Todavía hay una gran diferencia en el espacio ocupado por el comprimido y el sin comprimir. Se recomienda usar el método comprimido.

2. MySQL se construye a partir de la biblioteca


2.1, copia de seguridad de xbsteam way y luego copiar manualmente al host remoto

ref: Use innobackupex para construir la biblioteca esclava de MySQL

2.2, paquete en modo xbsteam y copia de seguridad en el host remoto a través de ssh y descompresión

  • realizar copia de seguridad
    innobackupex --defaults-file=/etc/my.cnf --user=root --password='root' --stream=xbstream /tmp | ssh [email protected] "/app/percona/percona-xtrabackup-2.4.3-Linux-x86_64/bin/xbstream -x -C /data/mysql/data"
    
  • Si encuentra que innobackupex ha estado esperando FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS, puede eliminar otras conexiones
    mysql -e "mostrar lista de procesos" | grep -v -i -e raíz -e id | awk '{printf "matar "$1";"}' | mysql
    
  • El registro es el siguiente:
    161219 20:11:21 [00] Streaming xtrabackup_binlog_info 
    161219 20:11:21 [00] ...hecho 
    161219 20:11:21 Ejecutando FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS... 
    xtrabackup: El último punto de control (para incremental): ' 6499141903477' 
    xtrabackup: deteniendo el subproceso de copia de registros. 
    .161219 20:11:21 >> registro escaneado hasta (6499141993412) 
    
    161219 20:11:23 Ejecutando UNLOCK TABLES 
    161219 20:11:23 Todas las tablas desbloqueadas 
    161219 20:11:23 [00] Streaming ib_buffer_pool a 
    161219 20:1 1 :23 [00] ...hecho 
    161219 20:11:23 Copia de seguridad creada en el directorio '/tmp' 
    Posición binlog de MySQL: nombre de archivo 'mysql-bin.001249', posición '151576713', GTID del último cambio '4d814c80-9dae -11e6-9711-005056bd55e1:1-113121904, 
    5f7b59b2-3e74-11e6-aa1d-005056bd55e1:27485200-29545503, 
    db6a8610-9b3e-11e6-8730-0050 56bd2c74:1-221265164 ' 
    161219 20:11:23 [00] Transmisión de copia de seguridad-my.cnf 
    161219 20:11:23 [00] ...hecho 
    161219 20:11:23 [00] Streaming xtrabackup_info 
    161219 20:11:23 [00] ... done 
    xtrabackup: se copió el registro de transacciones de lsn (6498376046758) a (6499141993412). 
    161219 20:11:24 completado ¡OK!
    
  • Aplicar rehacer a la base de datos en espera
    innobackupex --apply-log .

Nota: si no se puede encontrar xbsream, debe especificar una ruta absoluta o configurar la variable de entorno de ssh para permitir que el servidor SSH use una variable de entorno personalizada-winter.zhang-ChinaUnix Blog

2.3 Empaquetar y comprimir en modo xbsteam (qpress) hacer una copia de seguridad en un host remoto a través de ssh y descomprimir

  • realizar copia de seguridad
    innobackupex --defaults-file=/etc/my.cnf --user=root --password='root' --stream=xbstream --compress /tmp | ssh [email protected] "/app/percona/percona-xtrabackup-2.4.3-Linux-x86_64/bin/xbstream -x -C /data/mysql/data"
    
  • Descompresión
    Si la versión de xtrabackup es superior a la 2.1.4, puede descomprimirla directamente de esta forma

    innobackupex --descomprimir /copia de seguridad/bk_compress
    
  • Aplicar rehacer a la base de datos en espera

    innobackupex --apply-log .
    

Supongo que te gusta

Origin blog.csdn.net/eagle89/article/details/130250681
Recomendado
Clasificación