zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

重建MySQL .ibd 文件恢复及重建(mysql.ibd)

mysql文件 恢复 重建 ibd
2023-06-13 09:13:45 时间

MySQL的.ibd文件是存储在InnoDB表中的Data Dictionary结构的具体形式,例如字段名称,数据类型,以及索引等。在某些场景下,.ibd文件会因为某些原因丢失,我们就可以使用以下步骤重建.ibd文件:

(1)使用 MyISAM 引擎创建一个与之前表结构一致的新表,代码如下:

CREATE TABLE `new_table` LIKE `old_table`;

(2)导入久表数据到新表:

INSERT INTO new_table (`col1`, `col2`) SELECT `col1`, `col2` FROM `old_table`;

(3)将新表表引擎更改为InnoDB:

ALTER TABLE `new_table` ENGINE = InnoDB;

(4)将新表名改回久表名:

ALTER TABLE `new_table` RENAME `old_table`;

(5)更新系统表:

UPDATE `mysql`.`innodb_table_stats` SET ‘name’ = ‘old_table’ WHERE `name` = ‘new_table’;

(6)重新分配久的表的对应的.ibd文件:

ALTER TABLE `old_table` DISCARD TABLESPACE;

ALTER TABLE `old_table` IMPORT TABLESPACE;

上述步骤可以用来重建MySQL的.ibd文件,重新恢复表的结构和数据。因为InnoDB表的完整和安全性是需要持久文件:ibd,frm和log和log cfg。使用以上步骤可以恢复ibd文件,但是要想完全重建InnoDB表,还需要拥有其他文件,才能对表进行重建。


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 重建MySQL .ibd 文件恢复及重建(mysql.ibd)