Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >InnoDB的物理备份方法

InnoDB的物理备份方法

作者头像
MySQLSE
发布于 2024-03-21 07:03:07
发布于 2024-03-21 07:03:07
2020
举报

利用二进制文件的复制操作,可以对InnoDB进行完整的物理备份,备份对全部的InnoDB表进行复制,并生成所有表空间文件的副本。

数据库中所有的InnoDB表必须备份在一起,原因是InnoDB会在系统表空间中集中维护一些信息,其他的InnoDB表空间包含的数据依赖于系统表空间中InnoDB的数据字典。

为了保证一致性,进行文件复制时,必须停掉MySQL服务器,因此,该方法是冷备份的方法。

二进制文件的物理备份具有可移植性。二进制文件可以从一台MySQL服务器直接复制到另外一台服务器,在不同架构的服务器间进行备份时非常有用。对于不同的存储引擎,可移植性稍微不同。

  • InnoDB:全部的表空间和日志文件可以直接复制,数据库的路径名称在源/目标服务器上必须保持一致。
  • MyISAM和Archive:每个表的所有文件都可以直接复制,元数据文件需要从.sdi文件中导入。

注意:MySQL在Windows操作系统中,内部使用小写字母保存数据库和表的名称,如果目标系统对于大小写敏感,可以使用“lower_case_table_names=1”选项。

InnoDB的二进制文件物理备份过程

  1. 关闭MySQL服务器(慢关机)
    1. 要求“innodb_fast_shutdown=0”,默认值是1。
    2. 在关机前允许InnoDB完成额外的刷新操作。
    3. 关闭耗时长,但启动非常快。
  2. 复制InnoDB全部的数据、日志,及配置文件。包括:
    1. 数据文件:“ibdata”和“*.ibd”
    2. 重做日志:“ib_logfile*”
    3. 撤销日志:“undo_*”
    4. 全部的配置文件,例如,“my.cnf”
  3. 重新启动服务器

备份恢复

使用物理备份恢复InnoDB时需要按照如下步骤进行:

  1. 停止服务器
  2. 使用备份过程中的副本替换当前服务器全部的组件
  3. 重启服务器

注意,InnoDB使用共享表空间存储表的元数据,因此需要:

  • 将共享表空间和独立表空间文件作为一组进行复制
  • 复制对应的重做日志和撤销日志
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL解决方案工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL InnoDB 存储引擎原理浅析
本文主要基于MySQL 5.6以后版本编写,多数知识来着书籍《MySQL技术内幕++InnoDB存储引擎》,今年的多数学习知识只写在笔记里,较为零散,最近稍有时间整理出来,分享进步。
程序员小强
2021/05/27
1.6K0
使用Xtrabackup进行MySQL备份
1、简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。特点: (1)备份过程快速、可靠; (2)备份过程不会打断正在执行的事务; (3)能够基于压缩等功能节约磁盘空间和流量; (4)自动实现备份检验; (5)还原速度快;
全栈程序员站长
2022/07/04
1.1K0
【Mysql-InnoDB 系列】InnoDB 架构
封面图片来自:mysql官方文档,8.0版本,InnoDB Architecture。
程序员架构进阶
2021/03/05
1.4K0
【Mysql-InnoDB 系列】InnoDB 架构
《MySQL技术内幕:InnoDB存储引擎》读书笔记.
1、MySQL 被设计成一个单进程多线程架构的数据库,MySQL 数据库实例在系统上的表现就是一个进程。
JMCui
2021/03/04
7670
《MySQL技术内幕:InnoDB存储引擎》读书笔记.
数据库管理员DBA必知必会的备份恢复(四)
是所有物理文件的一个副本,比如数据文件,控制文件,归档日志等。该副本能被存储在本地磁盘或磁带等等。
用户1289394
2021/12/26
8180
MySQL OCP试题解析(6)
题目意思是:在innodb_fast_shutdown=0的情况下进行了干净的关闭,然后不小心删除了数据目录中的所有文件。问必须从备份中恢复哪两个文件才能让数据库干净地重启
俊才
2025/05/19
1130
MySQL OCP试题解析(6)
mysql --innodb之文件分类
一只羊羊
2025/03/07
1230
MySQL学习笔记(二)物理文件层的实现
在上一章我们了解到,物理文件层在MySQL架构位于最底层,将数据库的数据存储在文件系统上,并完成与存储引擎的交互。存储数据包括日志文件,数据文件,配置文件等。本章将介绍linux环境下MySQL的各类文件。
scarlett学习手册
2020/01/16
8230
innodb核心配置总结---官方文档阅读笔记
-- 每个表单独文件和单独表空间,而不是放在系统表空间,每个表的文件表空间允许操作系统在表被截断或删除时回收磁盘空间。每表文件表空间还支持动态和压缩行格式以及相关功能
丿丶MySQL灬灬
2021/10/25
1.2K0
MySQL 优化配置参数(my.cnf)
max_connections:允许客户端并发连接的最大数量,默认值是151,一般将该参数设置为500-2000 max_connect_errors:如果客户端尝试连接的错误数量超过这个参数设置的值,则服务器不再接受新的客户端连接。可以通过清空主机的缓存来解除服务器的这种阻止新连接的状态,通过FLUSH HOSTS或MySQLadmin flush-hosts命令来清空缓存。这个参数的默认值是100,一般将该参数设置为100000。
星哥玩云
2022/08/17
1.7K0
MySQL的备份工具——MySQL企业版备份
在上一篇MySQL备份中我们提到MySQL的备份工具包括用于逻辑备份的SQL语句、将SQL语句与操作系统的命令结合的物理备份工具(例如,“LOCK TABLE”)、MySQL企业版备份(物理备份)、“mysqldump”,及第三方工具。本文将详细介绍MySQL企业版备份工具。
MySQLSE
2024/03/12
6750
MySQL的备份工具——MySQL企业版备份
使用XtraBackup备份MySQL 8.0 Part 4 对数据库进行全备
大体上差不多,不过8.0版本移除了innobackupex命令且只能备份8.0版本的MySQL
bsbforever
2020/08/18
7340
使用XtraBackup备份MySQL 8.0 Part 4 对数据库进行全备
深度解析:Percona XtraBackup8 MySql备份工具!
Percona XtraBackup 是一款开源的备份工具,专为 MySQL 及其分支(如 Percona Server 和 MariaDB)数据库设计。它允许在不中断数据库操作的情况下执行热备份,确保数据的一致性和可恢复性,支持全量与增量,流式备份等。
DBA实战
2024/09/06
5390
深度解析:Percona XtraBackup8 MySql备份工具!
iOS8下的UIAlertContoller初探
1. 任何执行时间长于 wait_timeout或interactive_timeout选项值得备份,都会导致会话被关闭,这也会隐含执行UNLOCK TABLES命令。 2. 对于使用FLUSH TABLES WITH READ LOCK的备份策略来讲,一个共同的缺陷是它们需要两个独立的线程来完成备份过程。运行FLUSH TABLES WITH READ LOCK命令, 然后从当前连接退出将自动执行一条UNLOCK TABLES命令。从FLUSH TABLES WITH READ LOCK成功返回后,任何备份选项都必须在一个不同的并发线程中执行,只 有当适用的备份选项完成时,才可以执行UNLOCK TABLES. 3. 在高并发系统中使用FLUSH TABLES WITH READ LOCK命令的风险是有可能会需要较长的时间,因为有其他耗时较长的语句需要执行,最好被监控和终结,对于在 线型应用的影响又是是不可忽略的。 4. 对MySQL备份的常用方案: * 文件系统冷备份
全栈程序员站长
2021/09/06
6050
Mysql 备份的三种方式
备份的本质就是将数据集另存一个副本,但是原数据会不停的发生变化,所以利用备份只能恢复到数据变化之前的数据。那变化之后的呢?所以制定一个好的备份策略很重要。
全栈程序员站长
2022/07/02
1.2K0
一、 MySQL的起源
MySQL用了很久,但是一直也是工作的使用,对于MySQL的知识点都比较零散碎片,一直也没有整体梳理过,趁着最近不忙,梳理一下相关的知识点。
云扬四海
2022/09/26
8890
MySQL高级10-InnoDB引擎存储架构
  表空间(Tablespace):一个mysql实例,及一个数据库实例,可以对应多个表空间(ibd文件),用于存储记录,索引等数据。
Se7eN_HOU
2023/09/20
4230
MySQL高级10-InnoDB引擎存储架构
Oracle 备份恢复概念
数据库维护中,备份或恢复是重中之重的问题。尽管很多时候数据库系统运行缓慢,但对数据库数据的丢失而言,显然后者损失的代价是
Leshami
2018/08/07
9140
Mysql备份系列(1)--备份方案总结性梳理
mysql数据库备份有多么重要已不需过多赘述了,废话不多说!以下总结了mysql数据库的几种备份方案: 一、binlog二进制日志通常作为备份的重要资源,所以再说备份方案之前先总结一下binlog日志~~ 1.binlog日志内容 1)引起mysql服务器改变的任何操作。 2)复制功能依赖于此日志。 3)slave服务器通过复制master服务器的二进制日志完成主从复制,在执行之前保存于中继日志(relay log)中。 4)slave服务器通常可以关闭二进制日志以提升性能。 2.binlog日志文件的文
洗尽了浮华
2018/01/23
3.3K0
xtra+binlog增量备份脚本(上)
首先会启动一个xtrabackup_log后台检测的进程,实时检测mysql redo的变化,一旦发现redo有新的日志写入,立刻将日志写入到日志文件xtrabackup_log中 复制innodb的数据文件和系统表空间文件idbdata1到对应的以默认时间戳为备份目录的地方 复制结束后,执行flush table with read lock操作 复制.frm .myd .myi文件 并且在这一时刻获得binary log 的位置 将表进行解锁unlock tables 停止xtrabackup_log进程
陈不成i
2021/06/09
5950
相关推荐
MySQL InnoDB 存储引擎原理浅析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档