mysql xtrabackup备份和恢复脚本
时间: 2023-09-07 13:11:05 浏览: 149
MySQL XtraBackup数据备份与恢复
备份脚本:
```bash
#!/bin/bash
#定义备份目录
backup_dir=/data/backup/mysql
#定义备份文件名
backup_file=xtrabackup_$(date +%Y%m%d%H%M%S).tar.gz
#定义mysql安装目录
mysql_dir=/usr/local/mysql
#创建备份目录
mkdir -p $backup_dir
#执行备份
/usr/local/mysql/bin/xtrabackup --backup --user=root --password=123456 --target-dir=$backup_dir
#压缩备份文件
tar -zcf $backup_dir/$backup_file $backup_dir/$(date +%Y%m%d%H%M%S)
#删除7天前的备份文件
find $backup_dir -name "xtrabackup_*" -type f -mtime +7 -exec rm -rf {} \;
```
恢复脚本:
```bash
#!/bin/bash
#定义备份目录
backup_dir=/data/backup/mysql
#定义恢复目录
restore_dir=/data/mysql_restore
#定义mysql安装目录
mysql_dir=/usr/local/mysql
#创建恢复目录
mkdir -p $restore_dir
#解压备份文件
tar -zxf $backup_dir/xtrabackup_*.tar.gz -C $restore_dir
#关闭mysql
systemctl stop mysqld
#备份原有数据
mv $mysql_dir/data $mysql_dir/data.bak
#还原数据
/usr/local/mysql/bin/xtrabackup --copy-back --target-dir=$restore_dir/$(ls $restore_dir | grep xtrabackup)
#更改数据目录权限
chown -R mysql:mysql $mysql_dir/data
#启动mysql
systemctl start mysqld
```
阅读全文