一、全备
-- 删除8天前备份
-- find /data/mysqldata/back_dir/ -maxdepth 1 -mtime +8 -type d -exec rm -rf {} \;
/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user=root --password=密码 --no-lock /data/mysqldata/back_dir/
全备恢复整库则直接使用全备文件夹即可;
全备恢复单库、单表
将备份文件复制到20220809文件夹
cp backup-my.cnf ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1 ibtmp1 xtrabackup_binlog_info xtrabackup_binlog_pos_innodb xtrabackup_checkpoints xtrabackup_info xtrabackup_logfile xtrabackup_master_key_id /data/mysqldata2/20220809/
cp -r mysql performance_schema 数据库 /data/mysqldata2/20220809/
删除ib_logfile0 ib_logfile01
/data/mysqldata/log/relay_log/ib_logfile0
rm -rf ib_logfile0 ib_logfile1
应用redo日志
innobackupex --defaults-file=/etc/my.cnf --apply-log /data/mysqldata2/20220809/
复制文件
innobackupex --defaults-file=/etc/my.cnf --copy-back /data/mysqldata2/20220809/
chown -R mysql:mysql /data/mysqlnew
chown mysql:mysql ib_logfile0 ib_logfile1
删除ib_logfile0 ib_logfile01
/data/mysqldata/log/relay_log/ib_logfile0
rm -rf ib_logfile0 ib_logfile1
systemctl start mysqld.service
二、增备:
先进行全备
/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user=root --password=密码 --no-lock /data/mysqldata/back_dir/
增备
/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user=root --password=密码 --no-lock --incremental /data/mysqldata/back_inc_dir/ --incremental-basedir=$FULLBACKUP
其中$FULLBACKUP= /data/mysqldata/back_dir/时间戳
$INCREMENTALBACKUP= /data/mysqldata/back_inc_dir/ 时间戳
恢复全备
innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only $FULLBACKUP
增备应用于全备
innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only $FULLBACKUP --incremental-dir=$INCREMENTALBACKUP
将所有部分放在一起后,再次准备完整备份(基本 + 增量)以回滚待处理的事务:
innobackupex --defaults-file=/etc/my.cnf --apply-log $FULLBACKUP
剩余步骤和全备恢复相同