innobackupex全备
innobackupex备份官网参考网址:https://www.percona.com/doc/percona-xtrabackup/2.1/innobackupex/creating_a_backup_ibk.html
全备:用innobackupex进行全备(后台全备--innodbbackupex备份时先把数据文件全部拷贝,然后把redo日志全部拷贝。然后恢复的时候,把redo日志里的语句已经提交的,但是还没刷进去文件的,刷进去文件。还没提交的,直接回滚):
#这里备份完成之后,就备份到/data/backup/2019-07-13_17-43-02下,2019-07-13_17-43-02为innodbackupex自动生成的文件夹,如果想自己定义这个文件夹,可以用--no-timestamp参数
nohup /data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 /data/backup/ >>/data/backup/backup.log &
#添加了--no-timestamp参数,直接会在backup目录下存放备份数据,不会再自动生成一个2019-07-13_17-43-02文件夹来存放备份数据
nohup /data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --no-timestamp /data/backup >>/data/backup/backup.log &
或者把 /data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf
--user root --host localhost --password 123456 /data/backup/ 写入到 /data/shell/backup.sh
nohup sh /data/shell/backup.sh >>/data/backup/backup.log 2&>1 &
恢复:(这个是要把redo日志里的已经提交的事务给刷新到文件里面,还没提交的事务,回滚不要了):
nohup /data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --apply-log /data/backup/2019-07-13_17-43-02 >>/data/backup/backup.log &
#这里加多了--use-memory参数,用于指定把还没提交的事务进行回滚丢弃和把已提交的事务刷入文件的内存。默认这个内存为100M
nohup /data/xtrabackup/bin/innobackupex --apply-log --use-memory=4G --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456/data/backup/2019-07-13_17-43-02 >>/data/backup/backup.log &
mv /data/mysql /data/mysql.bak
mv /data/backup/2019-07-13_17-43-02 /data/mysql
或者
innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --copy-back /data/backup/2019-07-13_17-43-02
chown -R /data/mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/data/mysql/datanode1 --skip-slave-start --explicit_defaults_for_timestamp &
innobackupex增量备份
增量备份官网参考地址:https://www.percona.com/doc/percona-xtrabackup/2.1/innobackupex/incremental_backups_innobackupex.html
1.进行一次全量备份
/data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 /data/backup/ >>/data/backup/backup.log
2.在全量备份基础上进行第一次增量备份,数据存放在/data/backups/2013-04-02_23-01-18
/data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --incremental /data/backups --incremental-basedir=/data/backup/2013-04-01_23-01-18 >>/data/backups/backup.log
3.在第一次增量备份基础上进行第二次增量备份,数据存放在/data/backups/2013-04-03_23-01-18
/data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --incremental /data/backups --incremental-basedir=/data/backups/2013-04-02_23-01-18 >>/data/backups/backup.log
4.对数据进行恢复,步骤如下
/data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --apply-log --redo-only /data/backup/2013-04-01_23-01-18
将第一个增量备份应用于基本备份:
/data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --apply-log --redo-only /data/backup/2013-04-01_23-01-18 --incremental-dir=/data/backups/2013-04-02_23-01-18
将第二个增量备份应用于基本备份:(--redo-only应该在合并除最后一个之外的所有增量时使用)
/data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --apply-log /data/backup/2013-04-01_23-01-18 --incremental-dir=/data/backups/2013-04-03_23-01-18
innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --apply-log /data/backup/2013-04-01_23-01-18
innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 --copy-back /data/backup/2013-04-01_23-01-18
innobackupex流式压缩备份
innobackupex流式压缩备份参考地址:
https://qcsdn.com/article/225590.html
https://www.percona.com/doc/percona-xtrabackup/2.1/innobackupex/streaming_backups_innobackupex.html
https://www.percona.com/doc/percona-xtrabackup/2.1/innobackupex/parallel_copy_ibk.html
网友评论