当前位置: 首页 > article >正文

使用xtrabackup对MySQL5.7数据库进行物理备份

安装xtrabackup

MySQL5.7只能使用percona-xtrabackup-2.4版本进行操作

下载地址:https://download.csdn.net/download/weixin_45652150/90089395

安装

# 安装依赖
yum -y install libev

# 下载 2.4版本的
wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.27/binary/tarball/percona-xtrabackup-2.4.27-Linux-x86_64.glibc2.12.tar.gz

# 解压缩
tar xvf percona-xtrabackup-2.4.27-Linux-x86_64.glibc2.12.tar.gz

# 移动到opt下
mv percona-xtrabackup-2.4.27-Linux-x86_64.glibc2.12 /opt/xtrabackup-2.4.27

# 配置软链接
ln -s /opt/xtrabackup-2.4.27/bin/* /usr/bin/
# 查看版本
xtrabackup --version

备份

设置一个备份账号,专门用来备份,替换localhost%表示同运行任意地方连接

CREATE USER 'backup'@'localhost' IDENTIFIED BY 'Qwe123..0';
GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'backup'@'localhost';
FLUSH PRIVILEGES;

全量备份

创建备份

# 创建备份
xtrabackup --user=backup --password=Qwe123..0 --backup --target-dir=/opt/backup/mysql --socket=/var/lib/mysql/mysql.sock

--target-dir:备份路径
--socket:数据库套接字文件


恢复备份

安装MySQL

# 下载MySQL yum 包
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

# 查看是否有mariadb
rpm -qa |grep mariadb

# 删除mariadb依赖
yum remove -y mariadb-libs.x86_64

# 安装密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

# 安装 MySQL 源
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

# 安装 MySQL 服务器
yum install -y mysql-community-server

# 启动服务
systemctl start mysqld
systemctl enable mysqld

# 防火墙开放端口
firewall-cmd  --permanent --add-port=3306/tcp
firewall-cmd --reload

停止数据库

systemctl stop mysqld

查看备份文件是否完整 必须执行,不然异常可能会导致数据丢失

# 查看备份文件是否完整
xtrabackup --prepare --target-dir=/opt/backup/mysql

在这里插入图片描述

清除掉/var/lib/mysql

# 为了防止数据问题,使用移动的方式删除MySQL
mv /var/lib/mysql /tmp/deletemysql

恢复数据库

xtrabackup --copy-back --target-dir=/data/backups/

给于MySQL权限

# 给于MySQL文件权限
chown -R mysql:mysql /var/lib/mysql

# 启动MySQL
systemctl start mysqld

http://www.kler.cn/a/427589.html

相关文章:

  • 四个人排序——c++选择结构提高
  • 【调试工具】USB 转 UART 适配器(USB 转 TTL)
  • 华为 Mate 70 系列智能手机将运行不兼容 Android 的鸿蒙
  • 深入解析汽车对自行车手纵向成人碰撞测试(CBLA)
  • CSS3 动画详解,介绍、实现与应用场景详解
  • Alogrithm:老鼠走迷官(一)
  • uwsgi与Django结合的多线程多进程详解
  • 亚马逊云科技re:Invent:生成式AI的最新进展
  • 时序预测算法TimeXer代码解析
  • 《深度学习模型的应用与发展:从基础到前沿》
  • 【PID】温控、调速的应用
  • 设计模式c++(二)
  • 深入浅出 Go 语言:理解包管理
  • maven常用知识详解3:聚合与继承
  • 2024年9月GESPC++二级真题解析
  • 基于Matlab卷积神经网络的交通标志识别系统研究与实现
  • AcWing 5843. 染色
  • 怎么获取键值对的键的数值?
  • 数仓技术hive与oracle对比(四)
  • Python有趣小例子:魔法药水制作机