• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

【MVS】MySQL是discard/import tablespace能否使用在统一表空间中

2024-08-21 发表
  • 0关注
  • 0收藏 4495浏览
粉丝:2人 关注:5人

问题描述

MySQL是discard/import tablespace能否使用在统一表空间中

解决方法

DISCARD TABLESPACE 和 IMPORT TABLESPACE 对于独立表空间(每个表都有自己的 .ibd 文件)特别有用,但当使用统一表空间(称为共享表空间,顾名思义,共享表空间中所有表的数据存储在共享的表空间文件中)时,这两个命令的适用性会有所不同。

独立表空间 vs. 统一表空间

独立表空间 (innodb_file_per_table=ON):

  • 每个表拥有自己的 .ibd 文件。
  • 在这种情况下,可以使用 DISCARD TABLESPACE 和 IMPORT TABLESPACE 操作来手动管理 .ibd 文件。

统一表空间 (innodb_file_per_table=OFF):

  • 所有表的数据存储在全局共享的系统表空间文件中(通常是 ibdata1 等文件)。
  • 在这种情况下,这两个命令的使用受到限制,因为表数据并没有独立的表空间文件可以操作。

操作流程在独立表空间中的应用

在启用了独立表空间的情况下,通过 innodb_file_per_table 设置,每个 InnoDB 表会有独立的 .ibd 文件,以下是 DISCARD TABLESPACE 和 IMPORT TABLESPACE 的用途和操作流程:

步骤示例

  1. 在原始服务器上 DISCARD TABLESPACE

    复制
    ALTER TABLE world.city DISCARD TABLESPACE;
  2. 复制 .ibd 文件
    将 world.city 表的 .ibd 文件从原始服务器复制到目标服务器的相应目录中。

  3. 在目标服务器上 IMPORT TABLESPACE

    复制
    ALTER TABLE world.city IMPORT TABLESPACE;

注意事项

  • DISCARD TABLESPACE 将会删除该表在 MySQL 数据库和文件系统上的所有内容,但会保留表定义(.frm 文件)。
  • 这个操作前需要备份数据,因为在操作期间表的数据将不可访问。

在统一表空间中的适用性

对于统一表空间情况(即 innodb_file_per_table=OFF),由于所有表的数据都存储在共享的表空间文件中,DISCARD TABLESPACE 和 IMPORT TABLESPACE 通常不适用。例如,假设你没有启用独立表空间,以下操作将不能正常工作:

复制
ALTER TABLE world.city DISCARD TABLESPACE; ALTER TABLE world.city IMPORT TABLESPACE;

这些命令依赖于独立 .ibd 文件的存在。如果 innodb_file_per_table 设置为 OFF,InnoDB 报错指出无法找到表的独立表空间文件。

结论

  1. 独立表空间innodb_file_per_table=ON):可以使用 DISCARD TABLESPACE 和 IMPORT TABLESPACE 来管理和迁移单个表的表空间文件。
  2. 统一表空间innodb_file_per_table=OFF):DISCARD TABLESPACE 和 IMPORT TABLESPACE 不适用,因为所有表的数据都在共享的表空间文件中。

 

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作