【备份工具】Xtraback 全量备份恢复

环境

  • xtrabackup 2.4.21
  • 数据库版本:MySQL 5.7.27

全量备份

创建备份用户

mysql> create user 'databak'@'localhost' identified by '1122333';

# 最小权限需要给 reload,lock tables,super这三个,其余的看着给一般不需要了
mysql> grant reload,lock tables,super,replication client,show view,event,process on *.* to 'databak'@localhost;

mysql> plush privileges;

全备

备份数据会在备份目录下创建一个以当前日期时间为名字的目录存放备份文件

xtrabackup --defaults-file=/etc/my.cnf --user=databak -S /tmp/mysql.sock --parallel=2 --backup --target-dir=/data/backup/xtra_full_`date +%Y%m%d%H%M%S`

恢复

准备操作

应用日志

xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/app/xtra_full_20210126234309/
/**
...
InnoDB: Shutdown completed; log sequence number 10524266024
210126 23:59:55 completed OK!
*/

停止mysql

  • 恢复前需要停止 MySQL
  • 恢复前保证MySQL数据目录为空

恢复文件

xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/app/xtra_full_20210126234309/

#备份文件不需要保留的也能直接move,会快很多
xtrabackup --defaults-file=/etc/my.cnf --move-back --target-dir=/app/xtra_full_20210126234309/

授权

修改MySQL数据文件权限,'/var/lib/mysql'是数据文件路径,根据实际的datadir设置

chown -R mysql:mysql /var/lib/mysql
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容