使用xtrabackup进行增量备份时,要先有全量备份
增量备份前的数据
mysql> select *from tmp1;
+----+------+------+
| id | name | age |
+----+------+------+
| 1 | jack | 11 |
+----+------+------+
1 row in set (0.00 sec)
修改数据后
mysql> select *from tmp1;
+----+-------+------+
| id | name | age |
+----+-------+------+
| 1 | jack | 11 |
| 2 | tom | 22 |
| 3 | marry | 32 |
+----+-------+------+
3 rows in set (0.00 sec)
开始做增量备份
[root@local ~]# innobackupex --user=admin --password=admin --incremental /tmp/incre_backup --incremental-basedir=/tmp/xtrabackup/2021-11-12_07-21-38/
–incremental 增量备份目录
–incremental-basedir 这个增量备份相对于哪个全量的
最后一行看到completed OK表示已经成功
将增量备份产生的数据已经日志整合到全量备份中
[root@local ~]# innobackupex --user=admin --password=admin --incremental /tmp/xtrabackup/2021-11-12_07-21-38/ --incremental-basedir=/tmp/incre_backup/2021-11-12_08-41-49/
最后一行看到completed OK表示已经成功
模拟数据库故障
删除数据目录模拟数据库异常
[root@local ~]# rm -rf /usr/local/mysql/data/*
[root@local ~]# pkill mysqld
恢复数据
[root@local ~]# innobackupex --defaults-file=/etc/my.cnf --user=admin --password=admin --copy-back /tmp/xtrabackup/2021-11-12_07-21-38
修改data目录下文件的属性
[root@local ~]# chown -R mysql:mysql /usr/local/mysql/data
重新启动mysql
[root@local ~]# service mysql start
查询数据
mysql> select *from tmp1;
+----+-------+------+
| id | name | age |
+----+-------+------+
| 1 | jack | 11 |
| 2 | tom | 22 |
| 3 | marry | 32 |
+----+-------+------+
3 rows in set (0.00 sec)