首页 > 数据库 >percona-xtrabackup数据库备份工具

percona-xtrabackup数据库备份工具

时间:2023-05-18 12:02:40浏览次数:35  
标签:00 -- 备份 percona yum mysql xtrabackup



文章目录

  • percona-xtrabackup备份工具
  • 安装流程
  • 完全备份流程
  • 完全恢复流程
  • 增量备份流程
  • 增量恢复流程


percona-xtrabackup备份工具

安装流程
  • 安装percona-xtrabackup
    先准备Percona XtraBackup 8.0需要的mysql源:
yum install -y  https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
yum install -y yum-utils# yum工具

查看mysql的可用版本:

yum repolist all | grep mysql

根据之前安装mysql的版本选择禁用或者启用哪一个版本:
如果要禁用mysql80版本

yum-config-manager --disable mysql80-community

如果要启用mysql57版本

yum-config-manager --enable mysql57-community

安装Percona XtraBackup 的依赖包:

yum install -y mysql-community-libs-compat

安装Percona XtraBackup 的安装源:

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

可以使用yum repolist 列出所有的源.

percona-xtrabackup数据库备份工具_sql

查看要安装的有哪些:

yum list | grep percona-xtrabackup

安装软件

yum install -y percona-xtrabackup-24.x86_64

检验安装结果

rpm -ql percona-xtrabackup-24
完全备份流程
# 命令 --user=用户 --password="密码" 备份位置
innobackupex --user=root --password="Mysql@Password123" /xtrabackup/full

可以到文件夹中进行查看

percona-xtrabackup数据库备份工具_mysql_02


这个文件夹中的内容就是mysql的内容备份。

将二进制日志的功能打开,在mysql数据库中准备一份数据:

percona-xtrabackup数据库备份工具_sql_03


这是为数据库备份准备的数据。

将之前备份的文件夹删除掉,再次备份。

查看二进制日志的恢复点

percona-xtrabackup数据库备份工具_增量备份_04


这种备份只会恢复到备份点,不可以恢复到杂难点。

完全恢复流程
  • 停止数据库服务
systemctl stop mysqld
  • 模拟服务器损坏
rm -rf /var/lib/mysql/*
rm -rf /var/log/mysqld.log

可以再次进入到数据库中查看mysql的库。

  • 生成回滚日志
    指定备份点
innobackupex --apply-log /xtrabackup/full/2021-01-28_18-13-13/
  • 还原
innobackupex --copy-back /xtrabackup/full/2021-01-28_18-13-13/
ls /var/lib/mysql
  • 授权
chown -R mysql.mysql /var/lib/mysql

启动mysql服务

systemctl start mysqld;
增量备份流程

所谓的增量备份指的是将发生改变的数据进行备份。

  • 准备工作
    使用指定的数据库
    创建数据库testdb
create database testdb;

进入到testdb中

use testdb

创建表

create table test (id int);

percona-xtrabackup数据库备份工具_mysql_05


先进行完整备份:

将先前的完整备份删除

rm -rf /xtrabackup/*

进行备份

innobackupex --user=root --password="Mysql@Password123" /xtrabackup

在完整备份的基础上进行增量备份:
更新时间

date 01300000
mysql -uroot -p"Mysql@Password123" -e "insert into testdb.test values (5)"

进行增量备份,增量备份注意一定要基于前一天的变化。

innobackupex --user=root --password="Mysql@Password123" --incremental /xtrabackup/ --incremental-basedir=/xtrabackup/2021-01-29_00-00-52

可以查看文件夹

percona-xtrabackup数据库备份工具_sql_06


1.29是完整备份,1.30是增量备份。

增量恢复流程
  • 停止数据库
systemctl stop mysqld
  • 清理环境模拟损坏
rm -rf /var/lib/mysql/*

应用第一个日志回滚合并

innobackupex --apply-log --redo-only /xtrabackup/2021-01-29_00-00-52/

应用第二个日志回滚合并

innobackupex --apply-log --redo-only /xtrabackup/2021-01-29_00-00-52/ --incremental-dir=/xtrabackup/2021-01-30_00-04-52
innobackupex --copy-back /xtrabackup/2021-01-29_00-00-52
chown -R mysql.mysql /var/lib/mysql
systemctl start mysqld

登陆mysql5.7查看表。

差异备份占用的空间比增量备份大,比完整备份小,差异备份就是相对于第一天来说的,而增量备份是相对于前一天的。


标签:00,--,备份,percona,yum,mysql,xtrabackup
From: https://blog.51cto.com/u_15016660/6296655

相关文章

  • Mysql--数据的导入导出以及备份
    一、导入导出1.1、intooutfile(只导出数据)注意:mysql5.7+版本,secure_file_priv的值默认为NULL,即不允许导入或导出,需在/etc/my.cnf添加  secure_file_priv='' 或者  secure_file_priv='指定目录'  ,重启mysql1.1.1导出select*fromtable_nameintooutfile'f......
  • python实现数据库备份与恢复
    1.概述首先,数据库的备份理论上只是一句命令的事,但是也可以通过循环遍历数据库的表实现备份,但是无疑那样会使代码量提升很多,不过就是用SQL语句,原理倒是非常简单。当然,现在市面上用的最多的还是用命令的,这条命令如果手动操作应该是在命令窗口就可以实现的,用代码的话不过是拼接下字......
  • wordpress 优化备份还原插件duplicator-pro-4_5_3_2的使用填坑
     创建备份我这边没有出错,就不说了 插件下载地址:https://www.wpjzb.com/wp-plugins/duplicator-pro/我是应的是  https://pan.baidu.com/share/init?surl=YRss-vqBVY2Twv1tBid9fQ   提取码:ibnshttps://pan.baidu.com/share/init?surl=6VSX3FUlugtfBfTPj4wLbg 提取......
  • SQL Server(2008版)还原数据库备份 修改表结构
    昨天接到个小活,前公司一个项目中,有个功能不太正常,需要帮忙排查原因并解决,于是在本地部署环境,还原数据库并运行程序。由于已经从前公司离开3年有余,到这边以后主要是做导航算法相关开发,基本不使用数据库,即便用到的地方也都是Mysql和MongoDB,MSSQLServer被淡忘,操作过程中明明记得有个......
  • 数据库备份与恢复
    数据库的备份和恢复是数据库管理中非常重要的任务之一,一旦数据库出现故障或数据丢失,备份和恢复操作将决定着数据库恢复的时间和效果。下面是关于数据库备份和恢复实验的设计思路:实验目的:了解数据库备份和恢复的概念、原理、方法,并能够熟练进行备份和恢复操作。实验环境:选择......
  • mysql 数据库 定时 备份到阿里云盘
    仓库地址:gitee:db_backup_script:mysql数据库定时/实时备份数据库到阿里云盘,备份成功后消息可通知到钉钉群、企业微信群、wxpusher(gitee.comgithub:gwt805/db_backup_script:mysql数据库定时/实时备份数据库到阿里云盘,备份成功后消息可通知到钉钉群、企业微信......
  • Postgresql安装备份注意事项
    1.目标数据库准备     2.口令形式还原数据库主要步骤第一步:需要建一个空白的【hyl_jidian】的数据库;第二步:找到PG库安装位置,进入bin目录,默认位置:C:\ProgramFiles\PostgreSQL\13\bin第三步:执行【psql-hlocalhost-p5432-Upostgres-dhyl_jidian<C:\hyl_jidian......
  • 批量备份docker镜像
    首先,停止所有正在运行的容器dockerstop$(dockerps-a-q)列出所有停止的容器ID并写入list.txt文件dockerps-a--filter"status=exited"-q>list.txt编写bash脚本并运行#!/bin/bashwhilereadcontainer_id;doecho"Exportingcontainer$container_id..."......
  • MySQL学习日志十四,数据库的备份
    数据库备份必要性1.保证重要数据不丢失2.数据转移3.MySQL数据库备份方法mysqldump备份工具1.数据库管理工具,如SQLyog2.直接拷贝数据库文件和相关配置文件3.mysqldump客户端作用:转储数据库搜集数据库进行备份将数据转移到另一个SQL服务器,不一定是MySQL服务器--导......
  • Window环境下Java备份和恢复Mysql数据
    ***java执行代码中必须加cmd/cProcessexec=Runtime.getRuntime().exec("cmd/cmysqldump-uroot-p123456xxl_job>e:/home/jobbak.sql");Processexec1=Runtime.getRuntime().exec("pingwww.baidu.com");BufferedReaderbufferedReader=newBuf......