MySQL备份使用Xtrabackup 进行物理备份

       在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略。例如每周日用完整备份,周一到周六实用增量备份

下面是采用Xtrabackup备份的过程。(从安装到如何备份)

一、安装Xtrabackup

##>> 安装percona xtrabackup 
$ wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.28/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.28-1.el7.x86_64.rpm

$ yum -y install percona-xtrabackup-24-2.4.28-1.el7.x86_64.rpm

##>> 验证是否安装成功 查看版本
$ xtrabackup --version
xtrabackup: recognized server arguments: --datadir=/var/lib/mysql
xtrabackup version 2.4.28 based on MySQL server 5.7.40 Linux (x86_64) (revision id: 44a8f7b)

##>> 设置备份用户
$ mysql -uroot -p
password:

mysql> CREATE USER 'backup'@'localhost' IDENTIFIED BY '******';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'backup'@'localhost';

二、全量备份

##>> 开始备份
$ mkdir -p /data/mysql/backup/    #创建目录,此目录为备份存储的地方
$ innobackupex --defaults-file=/etc/my.cnf \
    --user=backup --password='******' \
    /data/mysql/backup/
$ mysql -uroot -p
password:

mysql> DROP DATABASE class;

$ systemctl stop mysqld
$ rm -rf /var/lib/mysql/*
$ innobackupex --defaults-file=/etc/my.cnf --user=backup --use-memory=1G --apply-log /data/backup/2023-08-09_21-07-16/
$ innobackupex --defaults-file=/etc/my.cnf --user=backup --copy-back /data/backup/2023-08-09_21-07-16/
$ chown -R mysql:mysql /var/lib/mysql
$ systemctl start mysqld

三、增量备份

##>> 增量备份
$ mkdir -p /data/mysql/backup/increments

###>>> 模拟数据增加的操作

$ innobackupex --defaults-file=/etc/my.cnf --user=backup --password='******' \
    --incremental-basedir=/data/backup/2023-08-09_21-07-16/ --incremental /data/backup/increments/

$ mysql -uroot -p'******'

$ innobackupex --defaults-file=/etc/my.cnf --user=backup --apply-log --redo-only /data/backup/2023-08-09_21-07-16/
$ innobackupex --defaults-file=/etc/my.cnf --user=backup --apply-log --redo-only /data/backup/2023-08-09_21-07-16/ --incremental-dir=/data/backup/increments/2023-08-09_21-28-40/

$ systemctl stop mysqld
$ rm -rf /var/lib/mysql/*

$ innobackupex --defaults-file=/etc/my.cnf --user=backup --copy-back /data/backup/2023-08-09_21-07-16/
$ chown -R mysql:mysql /var/lib/mysql
$ systemctl start mysqld

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值