(详细)Mysql使用XtraBackup备份数据库

【5】MySQL数据库备份-XtraBackup - 全量备份 关于数据库备份的一些常见术语、工具等,可见《MySQL数据库-备份》章节,当前不再重复概述。本篇主要对XtraBackup工具的使用做下详细讲解。首先,说下所使用的环境、版本。 阅读详情

XtraBackup是比mysqldump好用很多的mysql备份方法,支持全量、增量备份,而且备份速度很快,快对于生产的大量数据备份,那简直是福音,下面介绍使用步骤。

目的

我的mysql配置:

centos7.2系统
--defaults-file=/apps/mysql/my.cnf
--port=7006
--user=root
--password=password 
--socket=/data/mysql7006/mysql.sock

计划将mysql数据备份到:/data/backup/mysql7006-20181101

备份步骤

安装XtraBackup

下载地址
https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.3/binary/tarball/percona-xtrabackup-2.4.3-Linux-x86_64.tar.gz
安装到/apps/目录,其实就是解压和创建soft link,对系统无害

cd /tmp
# 下载
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.3/binary/tarball/percona-xtrabackup-2.4.3-Linux-x86_64.tar.gz
# 解压
tar zxvf percona-xtrabackup-2.4.3-Linux-x86_64.tar.gz
mv percona-xtrabackup-2.4.3-Linux-x86_64 xtrabackup
# mv到安装目录
mv xtrabackup /apps/
# 创建连接
ln -s /apps/xtrabackup/bin/* /usr/bin/
# 测试
innobackupex -v

备份mysql

首先停止mysql的写功能:使用root登录mysql,执行FLUSH TABLES WITH READ LOCK;对mysql进行全局锁表,不允许写。
然后执行备份命令:
innobackupex --defaults-file=/apps/mysql/my.cnf --no-timestamp --user=root --password=password --socket=/data/mysql7006/mysql.sock /data/backup/mysql7006-20181101
然后等着执行完毕即可,千万级数据一般10分钟内结束。
日志如下:

181103 06:03:09 innobackupex: Starting the backup operation

IMPORTANT: Please check that the backup run completes successfully.
           At the end of a successful backup run innobackupex
           prints "completed OK!".

Can't locate Digest/MD5.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at - line 693.
BEGIN failed--compilation aborted at - line 693.
181103 06:03:09 Connecting to MySQL server host: localhost, user: root, password: set, port: 7006, socket: /data/mysql7006/mysql.sock
Using server version 5.6.41-log
innobackupex version 2.4.3 based on MySQL server 5.7.11 Linux (x86_64) (revision id: 6a46905)
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /data/mysql7006/data
xtrabackup: open files limit requested 65535, set to 65535
xtrabackup: using the following InnoDB configuration:
xtrabackup:   innodb_data_home_dir = .
xtrabackup:   innodb_data_file_path = ibdata1:12M:autoextend
xtrabackup:   innodb_log_group_home_dir = .
xtrabackup:   innodb_log_files_in_group = 2
xtrabackup:   innodb_log_file_size = 4294967296
2018-11-03 06:03:09 0x7fc855260740 InnoDB: Using Linux native AIO
xtrabackup: using O_DIRECT
InnoDB: Number of pools: 1
181103 06:03:09 >> log scanned up to (1808750)
xtrabackup: Generating a list of tablespaces
InnoDB: Allocated tablespace ID 1 for mysql/innodb_table_stats, old maximum was 0
181103 06:03:09 [01] Copying ./ibdata1 to /data/backup/mysql7006-20181101/ibdata1
181103 06:03:09 [01]        ...done
181103 06:03:09 [01] Copying ./mysql/innodb_table_stats.ibd to /data/backup/mysql7006-20181101/mysql/innodb_table_stats.ibd
181103 06:03:09 [01]        ...done
。。。。。。
181103 06:03:10 Finished backing up non-InnoDB tables and files
181103 06:03:10 [00] Writing xtrabackup_binlog_info
181103 06:03:10 [00]        ...done
181103 06:03:10 Executing FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS...
xtrabackup: The latest check point (for incremental): '1808750'
xtrabackup: Stopping log copying thread.
.181103 06:03:10 >> log scanned up to (1808750)

181103 06:03:11 Executing UNLOCK TABLES
181103 06:03:11 All tables unlocked
181103 06:03:11 Backup created in directory '/data/backup/mysql7006-20181101'
MySQL binlog position: filename 'bin-log.000025', position '120'
181103 06:03:11 [00] Writing backup-my.cnf
181103 06:03:11 [00]        ...done
181103 06:03:11 [00] Writing xtrabackup_info
181103 06:03:11 [00]        ...done
xtrabackup: Transaction log of lsn (1808750) to (1808750) was copied.
181103 06:03:11 completed OK!

当出现completed OK!就是成功备份成功了。
最后恢复写功能:root登录数据库执行unlock tables;
说明:locktable是保证数据一致性的操作,其实xtrabackup可以实现不锁表备份,稍微复杂些,见:https://segmentfault.com/a/1190000002575399

还原mysql

如果本库还原以前的数据,只需要执行:
innobackupex --defaults-file=/apps/mysql/my.cnf --user=root --password=password --use-memory=2G --port=7006 --apply-log /data/backup/mysql7006-20181101

--use-memory=2G默认是100M,增大内存能加快速度。

如果用备份的数据制作从库,需要执行:

# 停止从库运行
mysql -u root --socket=*.sock --port=7006 -p shutdown
# 备份数据传输到从库服务器
scp
# 用主库数据恢复从库
innobackupex --defaults-file=/apps/mysql/my.cnf --user=root --password=password --use-memory=2G --port=7006 --apply-log /data/backup/mysql7006-20181101
mv /path/to/old/data /path/to/old/data.bak
mv /data/backup/mysql7006-20181101 /path/to/old/data
# 从库启动
bin/mysqld_safe --defaults-file=/apps/mysql/my.cnf &

一些注意:

  • 如果数据库被程序锁表锁库,连select都不能操作,那么xtrabackup会备份失败,一直显示log scanned up to (log id),但是log id不变。此时请先解决锁库锁表问题。
xtrabackup 实现MySQL数据库备份 mysqldump备份方式是采用逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于50G的 数据库而言,这个速度还是能接受的,但如果数据库非常大,那再使用mysqldump备份就不太适合了。 这时就 需要一种好用又高效的工具,xtrabackup就是其中一款,号称免费版的InnoDB HotBackup。 Xtrabackup实现是 物理备份,而且是物理热备 目前主流的有两个工具可以实现物理热备:ibbackup和xtrabackup;ibbackup是商 业软件,需要授权,非常昂贵。而xtraba 阅读详情

相关推荐

使用XtraBackup进行MySQL数据库备份

通过使用XtraBackup工具,我们可以轻松地进行MySQL数据库的备份和恢复操作。本文提供了使用XtraBackup的示例脚本,帮助你了解如何使用该工具进行备份和恢复。记得根据实际情况修改脚本中的参数,并根据需要进行定期的数据库备份,以确保数据的安全性和可恢复性。本文将详细介绍如何使用XtraBackup进行MySQL数据库备份,并提供相应的源代码示例。以下是一个示例脚本,演示了如何使用XtraBackup恢复数据库备份。以下是一个示例脚本,演示了如何使用XtraBackup创建数据库备份。

PmtxPhp的博客 116

centos安装percona-xtrabackup2.4

centos安装percona-xtrabackup2.4。

西原一点红的博客 1081

使用Xtrabackup备份和恢复MySQL数据库

MySQL数据库是一种常用的关系型数据库管理系统,而备份和恢复数据库是数据库管理中非常重要的任务之一。Xtrabackup是一个流行的开源工具,可以用于在MySQL数据库上进行在线备份和恢复操作。本文将介绍如何使用Xtrabackup进行MySQL数据库的备份和恢复,并提供相应的源代码示例。希望本文对您有所帮助!执行该命令后,Xtrabackup将会在指定的目录中创建一个新的备份文件夹,并将数据库的数据文件和日志文件复制到该文件夹中。在执行完以上步骤后,您的MySQL数据库将会成功备份并恢复到指定的状态。

PmtxPhp的博客 212

用xtrabackup2.4备份mysql5.6.30一直显示log scanned up to

用xtrabackup2.4备份mysql5.6.30一直显示log scanned up to   一直处于log scanned up to,只能ctrl+c强制终止备份   没有大事务   停止xtrabackup前   停止xtrabackup后   没事大事务,大概用了15分钟 xtrabackup: Transaction log of lsn (...

weixin_34183910的博客 1660

QST QMC5883L —— 经典磁传感器的生存指南与替代预案

本文聚焦于QST旗下经典三轴磁力计 QMC5883L,解析其技术渊源、核心特性及当前面临的停产风险。结合真实应用场景提供续命方案与选型建议,为依赖该芯片的开发团队争取过渡时间窗口期。文章包含实测数据对比、生命周期管理策略及潜在替代方案拆解。存续价值判断✔️ 现有产品设计无需大幅改动即可延续生命;❌ 新项目采用将面临更高的维护成本;⚠️ 建议在6个月内完成技术路线切换。#磁传感器 #嵌入式开发 #供应链管理 #QST #QMC5883L。

2501_93066786的博客 997

【AI气象6】Skilful nowcasting of extreme precipitation with NowcastNet

极端降水是气象灾害的重要因素,因此迫切需要通过高分辨率、长时间预报和局部细节的精准短期预报来减轻其社会经济影响。当前的方法存在模糊、衰减、强度或位置误差,基于物理的数值方法在捕捉关键的混沌动态(如对流起始)时面临挑战,而数据驱动的学习方法则未能遵循内在的物理法则(如平流守恒)。我们提出了 NowcastNet,这是一种针对极端降水的非线性短期预报模型,将物理演变方案与条件学习方法统一到一个端到端的神经网络框架中,通过优化预测误差进行训练。基于来自美国和中国的雷达观测数据,我们的模型能够生成物理上合理的降水短

weixin_51473374的博客 2322

xtrabackup实现mysql备份

xtraback实现mysql备份详细

qq_37119960的博客 1911

【STM32】从零构建串口IAP框架:BootLoader与App双向跳转实战解析

本文详细解析了STM32串口IAP框架的构建,重点阐述了BootLoader与App双向跳转的实战原理与实现步骤。内容涵盖Flash分区规划、中断向量表重定向、通信协议设计及固件升级流程,并针对跳转失败、程序跑飞等常见问题提供了解决方案,帮助开发者掌握产品级远程升级的核心技术。

wind6的博客 838

Mysql xtrabackup 备份脚本

#backup.sh #!/bin/sh #on xtrabackup 2.2.8 # 第一次执行它的时候它会检查是否有完全备份,否则先创建一个全库备份 # 当你再次运行它的时候,它会根据脚本中的设定来基于之前的全备或增量备份进行增量备份 #ocpyang@126.com INNOBACKUPEX_PATH=innobackupex #INNOBACKUPEX的命令 INNOBACKUPEX.

Lorik的博客 644

基于STM32的智能衣柜系统开发实战(附完整源码与硬件设计)

本文详细介绍了基于STM32的智能衣柜系统开发实战,包括硬件设计、软件架构和云端功能实现。系统具备实时温湿度监控、自动加热除湿、紫外线杀菌等核心功能,通过STM32F103C8T6主控芯片和ESP8266无线模块实现智能控制。附完整源码与硬件设计,适合科技爱好者和开发者参考。

peach的博客 779

接上篇,记录一下【Unity 3D对博途PLCSIM的通讯】文章有点长~仔细看,很基础

本文参考链接:西门子PLC丨PROFINET通讯仿真(虚拟通讯)做了一些更详细的优化,本文使用的类库并非原作者使用的类库。 首先,昨天项目已经创建好了,这边也加了一个InputField和一个Button,可以实现简单的读取,ok开始。 放入准备好的通讯类库; 新建一个博途的项目,本次测试使用博途V15,测试环境为虚拟机,Unity运行在本地计算机,建立博途项目流程如下: 新建项目,右键项目-属性-保护-对勾,如图: 不得不说的是,仿真中加密的FB块是无法下载的哦~ 添加CPU...

NS_Speak(IVAV) 8055

MySQL--基于Xtrabackup+Shell+Crond实现的数据库(全量+增量)热备份方案

学习背景 不管你是正在上学,还是已经工作了,想必多多少少都听说过删库跑路、rm -rf的情况,主要指的就是被有意或无意的删除掉了数据库的数据,而数据是整个业务最重要的价值体现,如果你的公司或者项目组没有一个成熟的数据库数据备份方案,一旦发生意外,我只能说年轻人,大意了吧,没有备份数据库!!! 一、Xtrabackup介绍 官方介绍文档 简单总结下来就是XtraBackup是Percona旗下的一款产品,支持MySQL数据库的热备份(在线不停机),并且是免费、开源,适用所有MySQL版本,非阻塞、紧密

JustinQin 3万+

保姆级教程:用Anaconda+PyCharm搞定YOLOv8本地部署(附避坑指南)

本文提供了一份详细的YOLOv8本地部署指南,涵盖Anaconda环境配置、PyCharm集成到模型部署的全过程。特别针对国内开发者需求,整合了镜像加速和常见报错解决方案,帮助快速完成目标检测模型的本地部署与实战应用。

weixin_42528090的博客 432

Database-Mysql-XtraBackup备份实践

Database-Mysql-XtraBackup备份实践全量备份备份阶段创建备份并授权:创建备份路径:安装xtrabackup软件:执行备份:查看备份文件:准备阶段恢复阶段增量备份备份阶段:Prepare阶段恢复阶段 操作系统:ubuntu18 全量备份 备份阶段 创建备份并授权: mysql> create user db_backup@‘localhost’ identified by...

adson1987的博客 4418

ubuntu:E: 无法定位软件包yum解决方法

如果出现以下问题,则需要更新yum源 yum源位于/etc/apt/sources.list yum源更新的网站有 清华大学开源镜像 中科大开源镜像 1.此处更新yum源的时候先备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo gedit /etc/apt/sources.list 将更新源替换成上面符合版本系列号 我用的版本号为20.04 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

码农研究僧的博客 1万+

124、LLC谐振变换器的矩阵变压器设计

摘要 本文分享了LLC谐振变换器中矩阵变压器的实战设计经验。针对大功率LLC单颗变压器的痛点(绕组层数多、散热不均、漏感一致性差),作者提出将大变压器拆分为多个小变压器单元(建议6个),通过原边串联、副边并联的方式实现功率分配。详细解析了磁芯选型、匝比计算、绕组结构、漏感控制和散热设计等关键参数,特别强调了小磁芯优势、等效匝比计算误区以及三明治绕法的重要性。文中还总结了调试过程中的谐振频率偏移和均流问题解决方案,并给出了矩阵数量选择、磁芯材质、绝缘材料等实用建议。作者指出,矩阵变压器在2kW以上LLC应用中

Jack010169的博客 168

使用xtrabackup备份mysql数据库(热备份)

创建用户`#刷新授权表`#回收此用户所有权限`#刷新授权表`#授权刷新、锁表、查看服务器状态、进程的权限`#刷新授权表`

baidu_38408667的博客 1620

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

xtrabackup备份恢复Mysql数据库

我们把/data/mysql/data目录下所有的文件删掉,然后恢复--move-back --copy-back分别是移动回和COPY回。--ftwrl-wait-timeout=60 如果表上有超过5秒的大事务,会等待60秒,60秒后报错。xtrabackup是物理备份,会备份data目录里的所有文件,但是不会备份/log里的文件。报错:/data/mysql/log/bin/mysql-bin.000003这个文件已存在。删掉/data/mysql/log/bin/目录下所有的文件重新恢复,成功!

liys0811的博客 1416

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

mysql数据库使用Xtrabackup进行备份与恢复+远程备份

MySQL冷备、mysqldump、MySQL热拷贝都无法实现对数据库进行增量备份。在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略。例如每周实用完整备份,周一到周六实用增量备份。而Percona-Xtrabackup就是为了实现增量备份而出现的一款主流备份工具,xtrabakackup有2个工具,分别是xtrabakup、innobakupe。

https://ophome.blog.youkuaiyun.com,在IT行业有多年的工作经验,尤其是在Python、Linux、负载均衡、Nginx和服务器运维等领域。 2309

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

MySQL 采用Xtrabackup对数据库进行全库备份

1,xtrabackup简介 关于数据库备份以及备份工具,参考:http://blog.itpub.net/26230597/viewspace-1460065/,这里来介绍xtrabackup已经如何使用xtrabackup进行对数据库的全备份已经恢复。 2,xtrabackup下载 下载地址为:http://www.percona.com/downloads/XtraBackup/...

csdn's blog 1万+

【生产级Mysql数据库备份和恢复】基于XtraBackup,对Mysql数据库进行全量、增量备份和还原

使用XtraBackup增量、全量备份和恢复MySQL数据库。

weixin_42046149的博客 875

mysql数据库备份之percona Xtrabackup

项目准备上线,第一件事恐怕就是需要做好数据容灾处理,就算不做异地容灾,但是不同服务器的数据备份得赶紧安排上。不然数据库出问题那就啥啥啥都没了。今天我们整理的是一个高效,并且可以热备的工具。 Percona XtraBackup 工具提供了一种再系统运行时执行MySql数据热备份的方法。 本文讲述的是在Linux环境下的Mysql 5.7的数据库整库备份,是作为我们去年数据库备份工具。 一、为什么选择XtraBackup 公司组建开发团队,以前公司系统外包出去。去年年初到了现在的公司,一顿检查吓了一大跳。.

一个不断前行的程序者 430

mysql xtrabackup 还原_xtrabackup备份还原MySQL数据库

mysqldump 备份鉴于其自身的某些特性(锁表,本质上备份出来insert脚本或者文本,不支持差异备份),不太适合对实时性要求比较高的情况Xtrabackup可以解决mysqldump存在的上述的一些问题,生产环境应用的也会更多一些。本文简单测试一下Xtrabackup对MySQL数据库的备份还原操作。本着先把功能先撸起来再深入细节的原则,粗略地实现了一个备份还原,并未深入细节。网上有不少xt...

weixin_39614060的博客 156

使用xtrabackup备份mysql数据库(全备,增量, 差异备份)

使用xtrabackup备份mysql数据库(全备,增量, 差异备份) 1、数据库备份 —xtrabackup ​ 创建的目录 [root@localhost ~]# mkdir -p /xtrabackup/{full,increment,difference} (1)完全备份 ①数据的备份 [root@localhost ~]# cd /xtrabackup/full ##语法:innob...

Sarahyyp 654

使用Xtrabackup 备份mysql数据库

##创建逻辑卷 [root@node1 ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created [root@node1 ~]# vgcreate myvg /dev/sdb1 Volume group "myvg" successfully created [root@node...

davidsiga201501的博客 120

MySQL数据库备份还原(第一讲-xtrabackup)

MySQL数据库备份还原(第一讲-xtrabackup) 1.基本概念 1.1 备份类型 备份类型 说明 热备份 当数据库进行备份时,数据库的读写操作不受影响 冷备份 当数据库进行备份时,数据库不能进行读写操作,也就是脱机备份,数据库要下线 温备份 当数据库进行备份时,数据库可以进行读操作,但是不能执行写操作。 ①在进行备份之前..

fupinghaohao的博客 2252
上一篇: SpringMVC框架Java Web项目中消息传递的流程
下一篇: Mysql手动迁移数据和日志目录的实验
西城月老
博客等级 码龄11年 40粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值