LinQ
发布于 2023-10-20 / 13 阅读 / 0 评论 / 0 点赞

mysql 5.7 通过 xtrabackup 备份及恢复

xtrabackup 安装:

官网安装参考:

https://docs.percona.com/percona-xtrabackup/2.4/installation/yum_repo.html

安装步骤:

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum -y install percona-xtrabackup-24.x86_64

数据库备份:

备份脚本:

#!/bin/bash

password='********'

innobackupex --user=root --password=$password --socket=/var/lib/mysql/mysql.sock --parallel=4 --no-timestamp --stream=xbstream . | lz4 -B4 > /bak/mysqlbak_`date +%F`

find /bak/ -mtime +5 -name "mysqlbak_*" -exec rm -rf {} \;

exit 0

定时任务:

35 2 * bash /bak/backup.sh >> /var/log/mysqlbak.log

数据库恢复:

在新机器上新建同版本的mysql 数据库

(安装参考 mysql yum 安装 ,安装指定版本:yum install mysql-community-server-5.7.38 -y )

将备份文件拷贝至新机器(备份文件名称样例: mysqlbak_2023-10-14)

清空新建mysql数据库的数据目录: rm -rf /var/lib/mysql/*

停止数据库

systemctl stop mysqld

#解压到文件夹

cat mysqlbak_2023-10-14 | lz4 -d | xbstream -x -C /tmp/mysql

#还原数据

innobackupex --apply-log /tmp/mysql/

innobackupex --copy-back /tmp/mysql/

#修改目录权限

chown mysql.mysql /var/lib/mysql -R

#启动数据库

systemctl start mysqld


评论