Xtrabackup MySQL(完整备份/增量备份)
安装xtrabackup
# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm# yum install -y percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm
常用选项
常用选项:--host 指定主机--user 指定用户名--password 指定密码--port 指定端口--databases 指定数据库--incremental 创建增量备份--incremental-basedir 指定包含完全备份的目录--incremental-dir 指定包含增量备份的目录--apply-log 对备份进行预处理操作一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。--redo-only 不回滚未提交事务--copy-back 恢复备份目录
全备
数据库新增数据
mysqlcreate database test1;
完整备份
# innobackupex --defaults-file=/etc/my.cnf --user=root /backup
删除数据库
# rm -rf /var/lib/mysql/*
关闭数据库
# systemctl stop mariadb
恢复数据库
# innobackupex --copy-back /backup/2020-09-22_13-58-22/
设置属主属组
# chown -R mysql.mysql /var/lib/mysql/
开启mysql
# systemctl start mariadb
增量备份(需要一个全备)
备份全部数据库
# innobackupex --defaults-file=/etc/my.cnf --user=root /backup
数据库新增数据
MariaDB [(none)]> create database test2;
增量备份
# innobackupex --user=root --incremental /backup/--incremental-basedir=/backup/2020-09-22_13-58-22/
/backup/ 增备目录/backup/2020-09-22_13-58-22/ 完整目录在/backup/会生成增备目录
合并备份到完整备份
# innobackupex --apply-log --redo-only /backup/2020-09-22_13-58-22/ --incremental-dir=/backup/2020-09-22_14-12-16/
/backup/2020-09-22_13-58-22/ 完整备份/backup/2020-09-22_14-12-16/ 增量备份
恢复备份到数据库
# innobackupex --copy-back /root/2020-09-22_13-58-22/
设置署主属组
# chown -R mysql.mysql /var/lib/mysql/
开启
# systemctl start mariadb
登录MySQL查看数据
+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || test || test1 || test2 |+--------------------+

浙公网安备 33010602011771号