使用percona-xtrabackup备份MySQL数据

news2025/2/27 4:59:57

xtrabackup备份分为两种

本文参考链接1
本文参考链接2

全量备份

1.备份数据

要创建备份,请xtrabackup使用xtrabackup --backup option. 您还需要指定一个xtrabackup --target-dir选项,即备份的存储位置,如果InnoDB数据或日志文件未存储在同一目录中,您可能还需要指定它们的位置。如果目标目录不存在,xtrabackup 将创建它。如果该目录确实存在并且为空,则 xtrabackup 将成功。xtrabackup 不会覆盖现有文件,它将失败并出现操作系统错误 17, file exists.

xtrabackup --backup  --user=root --password --parallel=3  --target-dir=/data/mysqlbackups/

参数解析

--socket= 选项表示mysql.sock所在位置,以便备份进程登录mysql
--user= 用于备份的账号
--password= 用于备份账号的密码
--parallel= 此参数用于开启多个子进程并发备份多个数据文件
--target-dir= 备份文件保存的位置
--backup 表示执行备份操作

备份成功显示结果如下

160906 10:19:17 Finished backing up non-InnoDB tables and files
160906 10:19:17 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): '62988944'
xtrabackup: Stopping log copying thread.
.160906 10:19:18 >> log scanned up to (137343534)
160906 10:19:18 Executing UNLOCK TABLES
160906 10:19:18 All tables unlocked
160906 10:19:18 Backup created in directory '/data/backups/'
160906 10:19:18 [00] Writing backup-my.cnf
160906 10:19:18 [00]        ...done
160906 10:19:18 [00] Writing xtrabackup_info
160906 10:19:18 [00]        ...done
xtrabackup: Transaction log of lsn (26970807) to (137343534) was copied.
160906 10:19:18 completed OK!

2.恢复数据
进入MySQL的data目录执行下面代码

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

显示 completed OK!则恢复成功

4.修改文件权限为MySQL用户

如果你安装MySQL没有指定用户,忽略这一步

chown -R mysql:mysql /opt/mysql5.6.46/data/

3.重启MySQL

systemctl restart mysqld

如果启动报错查看MySQL进程是否还在运行

ps aux | grep mysql

如果有杀死进程,重启即可
在这里插入图片描述

增量备份

增量备份时,每一次增量备份都需要以上一次的备份为基础,之后再将增量备份运用到第一次全备之上,从而完成备份。

1.准备全量备份

xtrabackup   --backup  --user=root --password --parallel=3  --target-dir=/data/backup/init 

2.准备增量备份
每一次增量数据库随便添加内容,以便观察数据变化

xtrabackup   --backup  --user=root --password --parallel=3  --target-dir=/data/backup/inc1 --incremental-basedir=/data/backup/init
xtrabackup   --backup  --user=root --password --parallel=3  --target-dir=/data/backup/inc2 --incremental-basedir=/data/backup/inc1
xtrabackup   --backup  --user=root --password --parallel=3  --target-dir=/data/backup/inc3 --incremental-basedir=/data/backup/inc2

3.准备备份(个人喜欢叫做合并备份)

xtrabackup --prepare --apply-log-only --target-dir=/data/backup/init
xtrabackup   --prepare --apply-log-only  --parallel=3  --target-dir=/data/backup/init --incremental-basedir=/data/backup/inc1
xtrabackup   --prepare --apply-log-only --parallel=3  --target-dir=/data/backup/init --incremental-basedir=/data/backup/inc2

注意:只有最后一次备份不加–apply-log-only

xtrabackup   --prepare  --parallel=3  --target-dir=/data/backup/init --incremental-basedir=/data/backup/inc3  

参数解析:
--prepare: 这个参数用于执行备份后的准备操作,准备数据库文件以供后续的恢复。
--apply-log-only: 这个参数用于仅应用日志操作,通常在复制/备份链中使用。它不会执行完整的准备操作,只是应用备份文件中的事务日志,以便将备份链连接起来。

对备份文件执行日志应用,以确保事务的一致性。
为恢复做一些准备,如创建一些必要的文件和目录。

4.恢复备份(步骤如全量备份)

xtrabackup --copy-back --target-dir=/data/backup/init

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/896618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Electron入门,项目启动。

electron 简单介绍: 实现:HTML/CSS/JS桌面程序,搭建跨平台桌面应用。 electron 官方文档: [https://electronjs.org/docs] 本文是基于以下2篇文章且自行实践过的,可行性真实有效。 文章1: https://www.cnbl…

Tomcat 为什么要破坏 Java 双亲委派机制?

大家好,我是锋哥!! 我们分为4个部分来探讨: 什么是类加载机制?什么是双亲委任模型?如何破坏双亲委任模型?Tomcat 的类加载器是怎么设计的? 我想,在研究tomcat 类加载之前,我们复习…

java+springboot+mysql银行管理系统

项目介绍: 使用javaspringbootmysql开发的银行管理系统,系统包含超级管理员、管理员、客户角色,功能如下: 超级管理员:管理员管理;客户管理;卡号管理(存款、取款、转账&#xff09…

自动化安装系统(三)

Cobbler 简介 Cobbler是一款Linux生态的自动化运维工具,基于Python2开发,用于自动化批量部署安装操作系 统;其提供基于CLI的管理方式和WEB配置界面,其中WEB配置界面是基于Python2和Django框架开发。另外,cobbler还提…

Go语言基础之运算符

运算符用于在程序运行时执行数学或逻辑运算。 运算符 Go 语言内置的运算符有: 算术运算符关系运算符逻辑运算符位运算符赋值运算符

【Java】Spring——Bean对象的作用域和生命周期

文章目录 前言一、引出Bean对象的作用域1.普通变量的作用域2.Bean对象的作用域 二、Bean对象的作用域1.Bean对象的6种作用域2.设置Bean对象的作用域 三、Bean对象的生命周期总结 前言 本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果你也…

window安裝python2.7.0

官网下载安装 https://www.python.org/downloads/release/python-270/ 选中所有用户,然后点击next 切换安装位置,最好不要选择c盘 点击next 等待安装 安装完成 配置环境变量 将python安装路径添加到系统环境变量 cmd窗口输入python,会打开应用商…

unity Dropdown默认选择不选择任何选项

当我们使用Dropdown下拉框时,有时不需要有默认选项,把 value设置为-1就可以了, 但是用代码设置value-1是没有效果的,

Stochastic: Distribution-Expectation-Inequalities

见:https://www.math.hkust.edu.hk/~makchen/MATH5411/Chap1Sec2.pdf

创意灵感网站都有哪些?推荐这8个

设计师最痛苦的事情不是:改变草稿!加班吧!但创造力已经耗尽,没有灵感。对于创意设计师来说,浏览创意网站是寻找灵感创意的关键途径。但当你寻找灵感和创造力时,你会发现一些著名的创意网站只是展示了热门图…

利用console提高写bug的效率

前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 自从入坑前端后,日常写bug就没离开过console。 要说用得多,不如说是console.log用得多,console.warn和console.erro…

msvcp140dll下载方法,msvcp140dll丢失的修复教程

msvcp140.dll是Microsoft Visual C Redistributable组件中的一个动态链接库文件。它是Microsoft Visual C 2015版本和更高版本所需的一个重要文件。这个文件主要用于支持C编译的应用程序,以提供与C相关的函数和功能。 为了解决msvcp140.dll文件丢失或损坏的问题&am…

[Go版]算法通关村第十二关黄金——字符串冲刺题

目录 题目:最长公共前缀解法1:纵向对比-循环内套循环写法复杂度:时间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 解法2:横向对比-两两对比(类似合并K个数组、合并K个链表)复…

antd5源码调试环境搭建(window系统)

将antd源码克隆至本地 $ git clone gitgithub.com:ant-design/ant-design.git $ cd ant-design $ npm install $ npm start前提安装python3、安装node版本18版本 不然后续安装依赖会报python3相关的错误。 项目需要使用git 初始化 不然会报husky相关的错误 git init重新安…

元宇宙电商—NFG系统:区块链技术助力商品确权。

在国内,以“数字藏品”之名崛起以来,其与NFT的对比就从未停歇。从上链模式到数据主权,从炒作需求到实际应用,从售卖形式到价值属性,在各种抽丝剥茧般的比较中,围绕两者孰优孰劣的讨论不绝于耳。 NFT的每一…

git 恢复丢失的代码

1.进入代码目录,打开git Bash,执行命令:git reflog,可以查看到提交记录编号;可以看git库查看记录,看丢失的是那次提交的代码; 2.执行命令:git cherry-pick ID ID就是记录编号; 3…

车载APP软件外包开发通讯

车载APP与车辆之间的通信方式和特点会因为不同的技术和场景而有所不同。以下是一些常见的车载APP与车辆通信方式以及它们的特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.蓝牙连接&#xff1a…

GuLi商城-前端基础Vue-生命周期和钩子函数

下图展示了实例的生命周期。你不需要立马弄明白所有的东西,不过随着你的不断学习和使用,它 的参考价值会越来越高。 VUE 的生命周期指的是组件在创建、运行和销毁过程中所经历的一系列事件,通过这些事件可以 让开发者在不同阶段进行相应的…

仿牛客论坛项目day4|开发社区登录模块

1、发送邮件 使用spring-boot-starter-mail这个包 2、开发注册功能 (1)访问注册页面 功能拆解: 点击顶部的注册按钮,打开注册页面 新增文件:controller->login 具体实现过程: 增加一个getregist…

图片文字识别-管理敏感词

目录 什么是OCR Tess4j案例 图片文字识别-管理敏感词 什么是OCR OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其…