部署
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
wget http://192.168.1.116:40002/huanfa/devTools/percona-xtrabackup-8.1.0-1-Linux-x86_64.glibc2.17.tar.gz
tar -zxvf percona-xtrabackup-8.1.0-1-Linux-x86_64.glibc2.17.tar.gz
mv percona-xtrabackup-8.1.0-1-Linux-x86_64.glibc2.17 /app/xtrabackup
ln -sf /app/xtrabackup/bin/* /usr/bin/
xtrabackup --version
xtrabackup version 8.0.34-29 based on MySQL server 8.0.34 Linux (x86_64) (revision id: 5ba706ee)
|
MySQL备份需要的权限
1、Reload:用于执行 FLUSH TABLES WITH REDO LOCK 和 FLUSH NO_WRITE_TO_BINLOG TABLES 是必需权限。
2、Replication client:用于执行 SHOW MASTER STATUS 和 SHOW SLAVE STATUS 查看位点信息,是必需权限。
3、BACKUP_ADMIN:用于执行 LOCK INSTANCE FOR BACKUP,是必需权限。
4、Process:用于执行 SHOW ENGINE INNODB STATUS 和 SHOW PROCESSLIST 是必需权限。
5、SYSTEM_VARIABLES_ADMIN:用于在增量备份时执行 SET GLOBAL mysqlbackup.backupid = xxx 操作,是非必需权限。
6、SUPER:在指定 –kill-long-queries-timeout 需要杀掉慢查询,和从库备份指定 –safe-slave-backup 需要重启复制,需要用到该权限。
7、SHOW VIEW:确认是否有非 INNODB 引擎表。
8、如果使用 Page Tracking 进行增量备份,还需要 mysql.component 表的查询权限。
9、如果指定 –history 还需要 performance_schema.xtraback_history 的 SELECT、INSERT、CREATE、ALTER 权限。
1 2 3
| gtid_mode=ON enforce_gtid_consistency=ON
|
MySQL8.1需要使用非root用户
1 2 3 4 5 6 7 8 9
| CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cr%T';
GRANT BACKUP_ADMIN, PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';
GRANT SELECT ON performance_schema.log_status TO 'bkpuser'@'localhost';
GRANT SELECT ON performance_schema.keyring_component_status TO bkpuser@'localhost';
GRANT SELECT ON performance_schema.replication_group_members TO bkpuser@'localhost';
|
全量备份
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
xtrabackup --backup --slave-info\ -u bkpuser\ -H 127.0.0.1\ -P3306\ -p's3cr%T'\ --compress\ --parallel=5\ --target-dir=/app/backup/bakup_`date +"%F_%H_%M_%S"`
| gzip - > /app/backup/bakup_`date +"%F_%H_%M_%S"`.gz
|
~~~bash