Backup físico completo + incremental y restauración con XtraBackup
MySQLBackup y PITRComando
# Full backup
xtrabackup --backup --host=127.0.0.1 --user=bkp --password='Bkp#2024' --target-dir=/backup/full --parallel=4
# Incremental (based on the previous backup)
xtrabackup --backup --host=127.0.0.1 --user=bkp --password='Bkp#2024' --target-dir=/backup/inc1 --incremental-basedir=/backup/full
# Prepare: full and intermediate incrementals with --apply-log-only, final step without it
xtrabackup --prepare --apply-log-only --target-dir=/backup/full
xtrabackup --prepare --apply-log-only --target-dir=/backup/full --incremental-dir=/backup/inc1
xtrabackup --prepare --target-dir=/backup/full
# Restore: mysqld stopped and datadir empty
systemctl stop mysqld
xtrabackup --copy-back --target-dir=/backup/full --datadir=/var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
systemctl start mysqld
cat /backup/full/xtrabackup_binlog_infoQué hace
Toma un backup físico en caliente copiando los archivos InnoDB y el redo log mientras el servidor funciona; un backup incremental contiene solo las páginas cambiadas desde el backup anterior. El paso prepare aplica el redo y hace consistente el backup.
Cuándo usarlo
Para bases de datos grandes que necesitan restauraciones rápidas (muchas veces más rápidas que las lógicas), para inicializar réplicas y para estrategias de full diario + incremental cada hora.
Precaución
La versión de XtraBackup debe coincidir con la serie de versiones del servidor (servidor 8.0 → XtraBackup 8.0, 8.4 → 8.4); si el servidor usa un formato de redo / data dictionary más nuevo que el build de XtraBackup, el backup se rechaza. Un backup sin prepare es inconsistente. Olvidar --apply-log-only en los pasos intermedios inutiliza los incrementales posteriores. El datadir debe estar vacío para la restauración; --move-back ahorra disco pero consume el backup. Usuario de backup: BACKUP_ADMIN, PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT y SELECT sobre performance_schema.log_status, keyring_component_status, replication_group_members.