前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >InnoDB的物理备份方法

InnoDB的物理备份方法

作者头像
MySQLSE
发布2024-03-21 15:03:07
850
发布2024-03-21 15:03:07
举报

利用二进制文件的复制操作,可以对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 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com