innobackupex和Xtrabackup备份和恢复MySQL数据_innobackup ubunt-程序员宅基地

技术标签: 2024年程序员学习  mysql  数据库  

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

3 授权一个专门用来备份的用户

GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO ‘bakuser’@‘localhost’ identified by ‘yourpassword’;

4 全量备份

innobackupex --defaults-file=/etc/my.cnf --user=bakuser --password=‘yourpassword’ /bakdir/

说明:defaults-file指定配置文件,它需要通过配置文件来获取一些mysql服务的信息,比如datadir在哪里。user和password就是刚刚授权的用户和密码,最后面的/bakdir为备份数据存放目录。

备份完成后,会在/bakdir生成一个以年月日时间为命名的目录,这个里面就是备份的数据。假如备份的目录为2017-06-07_17-26-39

5 数据恢复

innobackupex --use-memory=2G --apply-log 2017-06-07_17-26-39
innobackupex --defaults-file=/etc/my.cnf --use-memory=2G --copy-back /bakdir/2017-06-07_17-26-39/

说明:第一步为恢复前的准备工作,这一步不做是没法恢复的。第二步执行之前,需要把mysqld服务关闭,而且datadir要清空。

Xtrabackup实现数据的备份与恢复

Xtrabackup介绍

Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁);mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适合。
Xtrabackup安装完成后有4个可执行文件,其中2个比较重要的备份工具是innobackupex、xtrabackup
1)xtrabackup 是专门用来备份InnoDB表的,和mysql server没有交互;
2)innobackupex 是一个封装xtrabackup的Perl脚本,支持同时备份innodb和myisam,但在对myisam备份时需要加一个全局的读锁。
3)xbcrypt 加密解密备份工具
4)xbstream 流传打包传输工具,类似tar

Xtrabackup优点

Xtrabackup优点
1)备份速度快,物理备份可靠
2)备份过程不会打断正在执行的事务(无需锁表)
3)能够基于压缩等功能节约磁盘空间和流量
4)自动备份校验
5)还原速度快
6)可以流传将备份传输到另外一台机器上
7)在不增加服务器负载的情况备份数据

Xtrabackup备份原理

备份原理
备份开始时首先会开启一个后台检测进程,实时检测mysq redo的变化,一旦发现有新的日志写入,立刻将日志记入后台日志文件xtrabackup_log中,之后复制innodb的数据文件一系统表空间文件ibdatax,复制结束后,将执行flush tables with readlock,然后复制.frm MYI MYD等文件,最后执行unlock tables,最终停止xtrabackup_log
输出如下提示信息

xtrabackup: Transaction log of lsn (2543172) to (2543181) was copied.
171205 10:17:52 completed OK!

Xtrabackup增量备份介绍

xtrabackup增量备份的原理是:
1)、首先完成一个完全备份,并记录下此时检查点LSN;
2)、然后增量备份时,比较表空间中每个页的LSN是否大于上次备份的LSN,若是则备份该页并记录当前检查点的LSN。
增量备份优点:
1)、数据库太大没有足够的空间全量备份,增量备份能有效节省空间,并且效率高;
2)、支持热备份,备份过程不锁表(针对InnoDB而言),不阻塞数据库的读写;
3)、每日备份只产生少量数据,也可采用远程备份,节省本地空间;
4)、备份恢复基于文件操作,降低直接对数据库操作风险;
5)、备份效率更高,恢复效率更高。

Xtrabackup安装

下载安装xtrabackup
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/6/x86_64/Percona-XtraBackup-2.4.9-ra467167cdd4-el6-x86_64-bundle.tar
[root@centos ~]# ll
total 703528
-rw-r–r-- 1 root root 654007697 Sep 27 09:18 mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
-rw-r–r-- 1 root root 65689600 Nov 30 00:11 Percona-XtraBackup-2.4.9-ra467167cdd4-el6-x86_64-bundle.tar
[root@centos ~]# tar xf Percona-XtraBackup-2.4.9-ra467167cdd4-el6-x86_64-bundle.tar
[root@centos ~]# yum install percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm -y
[root@centos ~]# which xtrabackup
/usr/bin/xtrabackup
[root@centos ~]# innobackupex -v
innobackupex version 2.4.9 Linux (x86_64) (revision id: a467167cdd4)
#已经安装完成

创建测试数据

mysql> create database test;
Query OK, 1 row affected (0.00 sec)
mysql> use test;
Database changed
mysql> create table T1 (name varchar(10) not null,sex varchar(10) not null);
Query OK, 0 rows affected (0.15 sec)
mysql> insert into T1 values(‘zhang’,‘man’);
Query OK, 1 row affected (0.01 sec)
mysql> insert into T1 values(‘zhan’,‘man’);
Query OK, 1 row affected (0.01 sec)
mysql> insert into T1 values(‘sun’,‘woman’);
Query OK, 1 row affected (0.00 sec)

在这里插入图片描述

Xtrabackup全量备份与恢复

[root@centos ~]# innobackupex --defaults-file=/etc/my.cnf --user=root --password=“123456” --backup /root

在这里插入图片描述
从备份过程截图可以看出会创建一个时间的目录

[root@centos ~]# ll /root/2017-12-04_13-57-29/
total 12352
-rw-r----- 1 root root 425 Dec 4 13:57 backup-my.cnf
-rw-r----- 1 root root 322 Dec 4 13:57 ib_buffer_pool
-rw-r----- 1 root root 12582912 Dec 4 13:57 ibdata1
drwxr-x— 2 root root 4096 Dec 4 13:57 mysql
drwxr-x— 2 root root 4096 Dec 4 13:57 performance_schema
drwxr-x— 2 root root 12288 Dec 4 13:57 sys
drwxr-x— 2 root root 4096 Dec 4 13:57 test
-rw-r----- 1 root root 22 Dec 4 13:57 xtrabackup_binlog_info
-rw-r----- 1 root root 113 Dec 4 13:57 xtrabackup_checkpoints
-rw-r----- 1 root root 537 Dec 4 13:57 xtrabackup_info
-rw-r----- 1 root root 2560 Dec 4 13:57 xtrabackup_logfile

#这里面就是相关的备份文件,同样也可以看到我们创建的库的名称
在这里插入图片描述

[root@centos ~]#innobackupex --apply-log /root/2017-12-04_13-57-29/

#使用此参数使用相关数据性文件保持一致性状态
在这里插入图片描述

mysql> drop table T1;
Query OK, 0 rows affected (0.01 sec)
mysql> select * from T1;
ERROR 1146 (42S02): Table ‘test.T1’ doesn’t exist

接下来准备恢复误删除数据
#恢复数据之前需要保证数据目录是空的状态

[root@centos ~]# innobackupex --defaults-file=/etc/my.cnf --copy-back /root/2017-12-04_13-57-29/

#具体看日志截图
在这里插入图片描述

[root@centos ~]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
[root@centos ~]# lsof -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 5935 mysql 21u IPv6 21850 0t0 TCP *:mysql (LISTEN)
mysql> use test;
Database changed
mysql> select * from T1;
±------±------+
| name | sex |
±------±------+
| zhang | man |
| zhan | man |
| sun | woman |
±------±------+
3 rows in set (0.00 sec)

##恢复成功

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-8RT1zbkE-1713135947675)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2303_79055586/article/details/137763298

智能推荐

Vue之条件渲染_条件渲染的基本概念-程序员宅基地

文章浏览阅读973次。条件渲染就是在指定的条件下,渲染出指定的UI。比如当我们显示主页的时候,应该隐藏掉登录等一系列不相干的UI元素。即UI元素只在特定条件下进行显示。而在VUE3中,这种UI元素的显示和隐藏可以通过两个关键字,`v-if` 和`v-show`来实现。但是虽然实现的功能一样,但他们两者有着一些细微的区别。总结起来这个区别就是:v-show控制UI元素隐藏时只是将UI的显示状态变成了不可见,实际上这个UI是存在的,但是v-if隐藏UI元素时则是直接干掉了这个UI元素,使其不显示_条件渲染的基本概念

直播+录播_直播加录播是-程序员宅基地

文章浏览阅读1.2k次。什么是直播回放?简单的说就是腾讯视频【支持将已经直播结束的节目再次播放,】方便你随时观看。目前此功能试运营阶段,最多可查看过往2小时内的节目,后续将可支持最多48小时内的节目。直播+回放+看点+预订功能,全面打通直播节目的过去、现在和未来。 直播回放和暂停功能目前已经同时在PC客户端播放器(2012 Beta2以上版本)和WEB网页的Flash播放器上线,操作简单便捷,如下图_直播加录播是

VDM Alloy 20与 Alloy 926超级不锈钢的化学成分及特性_vdm alloy 36元素含量-程序员宅基地

文章浏览阅读626次。VDM Alloy 20与 Alloy 926超级不锈钢的化学成分及特性化学成分概览材料特性VDM Alloy 20的材料特性包括:• 卓越的抗硫酸和磷酸腐蚀性能• 良好的抗晶间腐蚀能力• 出色的抗氯离子引起的应力腐蚀开裂能力• 良好的抗点蚀和缝隙腐蚀能力• 在室温以及高达500°C的高温下具有良好的机械性能VDM Alloy 926的材料特性包括:出色的抗点蚀和缝隙腐蚀能力与其他奥氏体不锈钢相比,抗应力腐蚀开裂的能力有所提高与氧化性和还原性介质接触时具有良好的耐_vdm alloy 36元素含量

使用VSCode内置终端执行python脚本时出现OMP: Error #15错误_终端输出omp-程序员宅基地

文章浏览阅读1.3k次。在conda环境中执行程序时,出现 “OMP:Error #15” 的一种解决方法与诱因分析_终端输出omp

{windows故障}关于WIN7故障模块StackHash_0a9e解决方法-程序员宅基地

文章浏览阅读1.6w次。问题背景:我给同事重装好系统后,想用驱动精灵(网卡版)给新系统安装驱动,但是在安装驱动精灵的过程中老是出现标题的问题,windows停止工作,导致无法安装,最后看到这两个方法后,把网络适配器禁用,然后就安装上驱动精灵了我先把方法复制上,然后在说明情况方法一:本机是win7 64位,一开始以为兼容性问题,折腾了N久也不行,但皇天不负有心人,网上找到一个类似问题,原来并不是系统或者..._stackhash12模块故障

AttributeError: module ‘numpy‘ has no attribute ‘float‘_attributeerror: module 'numpy' has no attribute 'f-程序员宅基地

文章浏览阅读1.5w次,点赞29次,收藏58次。出现这个问题的原因是:从numpy1.24起删除了numpy.bool、numpy.int、numpy.float、numpy.complex、numpy.object、numpy.str、numpy.long、numpy.unicode类型的支持。_attributeerror: module 'numpy' has no attribute 'float'.

随便推点

ico引入方法_arco的ico怎么导入-程序员宅基地

文章浏览阅读1.2k次。打开下面的网站后,挑选要使用的,https://icomoon.io/app/#/select/image下载后 解压 ,先把fonts里面的文件复制到项目fonts文件夹中去,然后打开其中的style.css文件找到类似下面的代码@font-face {font-family: ‘icomoon’;src: url(’…/fonts/icomoon.eot?r069d6’);s..._arco的ico怎么导入

Microsoft Visual Studio 2010(VS2010)正式版 CDKEY_visual_studio_2010_professional key-程序员宅基地

文章浏览阅读1.9k次。Microsoft Visual Studio 2010(VS2010)正式版 CDKEY / SN:YCFHQ-9DWCY-DKV88-T2TMH-G7BHP企业版、旗舰版都适用推荐直接下载电驴资源的vs旗舰版然后安装,好用方便且省时!) MSDN VS2010 Ultimate 简体中文正式旗舰版破解版下载(附序列号) visual studio 2010正_visual_studio_2010_professional key

互联网医疗的定义及架构-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏17次。导读:互联网医疗是指综合利用大数据、云计算等信息技术使得传统医疗产业与互联网、物联网、人工智能等技术应用紧密集合,形成诊前咨询、诊中诊疗、诊后康复保健、慢性病管理、健康预防等大健康生态深度..._线上医疗的定义

计算机毕业设计 基于大数据的智能家居销量数据分析系统的设计与实现 Java实战项目 附源码+文档+视频讲解_基于大数据的智能家居销售数据分析系统 开题报告-程序员宅基地

文章浏览阅读1k次,点赞8次,收藏4次。随着科技的不断发展,智能家居系统已经成为了人们生活中不可或缺的一部分。而随着智能家居销量的不断增加,如何对这些数据进行有效的分析和利用也成为了当前亟待解决的问题。因此,本文提出了一种基于大数据的智能家居销量数据分析系统的设计与实现。该系统主要分为前台和后台两个部分,用户可以通过前台进行注册登录、查看冰箱信息、获取智能家居资讯等操作,管理员则可以通过后台进行用户管理、家电信息管理、系统管理等工作。通过对智能家居销量数据的分析,可以帮助企业更好地了解市场需求,优化产品设计和生产,提高销售效益。_基于大数据的智能家居销售数据分析系统 开题报告

异常:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:-程序员宅基地

文章浏览阅读3.6w次,点赞2次,收藏19次。问题java使用httpclient或者restTemplate进行https请求时,出现如下异常:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertP..._pkix path building failed: sun.security.provider.certpath.su

c# 窗体开发2 高级控件的使用_tooltiptext c#-程序员宅基地

文章浏览阅读794次,点赞2次,收藏9次。1.单选按钮(RadioButton)同一组中其他单选按钮不能同时选定分组形式:panel GoupBox 窗体方法: 属性 说明 Appearance RadioButton 控件的显示与命令按钮相似 Checked 确定是否已选定控件 方法 ..._tooltiptext c#