建立全量备份的目录:
mkdir -p /data/backup
建立增量备份的目录:
mkdir -p /data/backupinc
一、全备
xtrabackup --defaults-file=/etc/my.cnf --host=localhost --user=root --password=Password --port=3306 --backup --target-dir=/data/backup/
或者使用参数--datadir替换掉参数--defaults-file.
xtrabackup --host=localhost --user=root --password=Password --port=3306 --datadir=/var/lib/mysql/ --backup --target-dir=/data/backup/
二、从全备恢复
1、停止掉运行的数据库实例:
systemctl stop mysqld
2、准备:
xtrabackup --host=localhost --user=root --password=Password --port=3306 --prepare --target-dir=/data/backup/
3、拷回数据:
xtrabackup --host=localhost --user=root --password=Password --port=3306 --datadir=/var/lib/mysql --copy-back --target-dir=/data/backup/
4、修改目录属性启动数据库:
chown -R mysql:mysql /var/lib/mysql
chmod -R 755 /var/lib/mysql
5、启动数据库实例:
systemctl start mysqld
三、增量备份(前提是之前已经按步骤一进行了全备)
xtrabackup --defaults-file=/etc/my.cnf --host=localhost --user=root --password=Password --port=3306 --backup --parallel=3 --target-dir=/data/backupinc --incremental-basedir=/data/backup
四、从增量备份复恢
1、停止掉运行的数据库实例:
systemctl stop mysqld
2、 准备全备份的日志:
xtrabackup --prepare --apply-log-only --target-dir=/data/backup
3、准备增量备份的日志:
xtrabackup --prepare --apply-log-only --target-dir=/data/backup --incremental-dir=/data/backupinc
4、全备份准备:
xtrabackup --prepare --target-dir=/data/backup
5、拷回数据:
xtrabackup --host=localhost --user=root --password=Password --port=3306 --datadir=/var/lib/mysql --copy-back --target-dir=/data/backup/
6、修改数据目录的权限和属性:
chown -R mysql:mysql /var/lib/mysql
chmod -R 755 /var/lib/mysql
7、 启动实例:
systemctl start mysqld