mysql如何进行表空间传输恢复_mysql transport tablespace实战

根本原因是.ibd文件与内存表定义不匹配,需同时满足:用FLUSH TABLES...FOR EXPORT导出(含元数据校验)且目标表结构完全一致(包括ROW_FORMAT、字符集、列序等)。为什么 ALTER TABLE ... IMPORT TABLESPACE 总报错 "Tablespace is missing for table"根本原因不是文件丢了,而是 MySQL 没法把 .ibd 文件和内存中的表定义对上号。它需要两个前提同时满足:.ibd 文件必须是用 FLUSH TABLES ... FOR EXPORT 生成的(带元数据校验),且目标表必须先用 CREATE TABLE 建好、结构完全一致(包括 ROW_FORMAT、KEY_BLOCK_SIZE、字符集、列顺序、隐藏字段等)。常见错误现象:ERROR 1808 (HY000): Schema mismatch (Table has ROW_FORMAT=COMPACT, but the tablespace file has ROW_FORMAT=Dynamic)ERROR 1812 (HY000): Tablespace is missing for table `db`.`t`(其实是表定义没加载成功,不是文件路径问题)导入后查不到数据,或 SELECT 报 ERROR 2013 (HY000): Lost connection实操建议:源库导出前务必执行 FLUSH TABLES `t` FOR EXPORT,完成后立刻 COPY t.ibd 和 t.cfg(不能只拷 .ibd)目标库建表语句必须用 SHOW CREATE TABLE 从源库原样复制,不能手工重写------尤其注意 ENGINE=InnoDB 后面有没有 ROW_FORMAT=、STATS_PERSISTENT= 等隐式参数导入前删掉目标表的 .ibd,但保留 .frm(MySQL 5.7)或数据字典记录(MySQL 8.0),再执行 ALTER TABLE t DISCARD TABLESPACEMySQL 8.0 下 IMPORT TABLESPACE 失败:.cfg 文件还用不用?8.0 之后 InnoDB 不再依赖 .cfg 文件做校验,但你仍得提供它------否则会报 ERROR 1812: Tablespace file not found。这不是 bug,是设计行为:MySQL 8.0 仍会读取 .cfg 中的 space_id 和 page_no 校验信息,只是不再用它恢复列定义。使用场景:跨实例迁移单表(比如从测试库导出,导入到生产库隔离环境)误删表后,有冷备份的 .ibd + .cfg,且能重建同结构表实操建议:即使用了 innodb_file_per_table=ON,也别直接 cp .ibd 过去就 import------少了 .cfg 或版本不匹配,99% 失败MySQL 8.0.23+ 支持 DATA DIRECTORY 子句,可指定 .ibd 物理位置,但 .cfg 必须放在同一目录,且文件名严格为 t.cfg如果只有 .ibd 没有 .cfg(比如从崩溃实例抢救出来的文件),只能用 innodb_force_recovery + mysqldump 导出,不能走 transporttransportable tablespace 能否跳过 DISCARD 直接替换 .ibd?不能。MySQL 强制要求先 DISCARD TABLESPACE,再 COPY 文件,最后 IMPORT。这是为了确保内存中表对象和磁盘文件状态同步。跳过 DISCARD 直接覆盖 .ibd,会导致 buffer pool 缓存和文件页不一致,轻则查询返回脏数据,重则 mysqld crash。 RedClaw 百度推出的手机端万能AI Agent助手

相关推荐
MoRanzhi12031 小时前
第6篇(中)· 使用 PyQt5 实现 2048 高性能计算版:无头后台求解与三档运行模式
python·pyqt·数据持久化·多进程·进程间通讯·后台任务·断点续跑
2601_957084843 小时前
2026年生产型服装供应链SCM系统丨水洗参数、产能与验收节点架构
数据库·scm·服装供应链系统·服装scm·服装供应链
Metaphor6923 小时前
Python 自动化办公:如何轻松在 PDF 中导入与导出表单数据
python·pdf·自动化
IvorySQL8 小时前
PostgreSQL 日报|恢复期 COPY TO 未日志表修复(10 月 21 日)
数据库·postgresql·区块链
贝猫说python9 小时前
大模型比赛2.3智能体开发(工具调用智能问答助手)
数据库·oracle
许彰午10 小时前
28-ORA-01110数据文件读取错误
数据库·oracle
凯凯姜10 小时前
MySQL 联合索引设计与索引失效
数据库·mysql
猫咪很可爱11 小时前
Oracle TEMP 表空间不足(ORA-01652)问题分析与优化实践
数据库·oracle
外收内放11 小时前
面向对象高级(实战案例)
开发语言·python·学习
专业程序开发源12 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计