mysql的*.frm,*.myd,*.myi文件和数据恢复

本文介绍了一种通过将*.frm,*.myd,*.myi文件复制到MySQL数据目录下的方式来恢复数据库的方法,并提供了注意事项,确保数据库恢复过程的顺利进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据库的备份只有这样的*.frm,*.myd,*.myi文件怎么恢复?

1.找到mysql的安装路径,找到my.ini文件,打开找到“datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"”

2.找到data文件夹,把备份的数据库(*.frm,*.myd,*.myi文件)复制到data目录下;

3.把备份数据库中的ibdata1文件也复制进来,需注意的是ibdata1文件如果覆盖掉之前的,之前库中的其他数据库则不可用,所以先建议把之前的库备份

4.这样数据库就算恢复回来啦,如果出现有的表not exist,需注意ibdata1文件,多半是它的错

 

二、*.frm,*.myd,*.myi文件
*.frm是描述了表的结构        frm----->frame框架

*.myd保存了表的数据记录   d------>data

*.myi则是表的索引               i------>index


注意:
1.尽可能的保证新老服务器mysql的版本一致,字符编码一致
2.导出*.sql文件大小问题,因为有些数据库限制大小,太大了的导入会出问题(对了导出后大于服务器限制的可以打成zip再导入)


在使用 Navicat Premium 15 导入 MySQL 的 `.frm`、`.MYD`、`.MYI` 文件时,需要理解这些文件的性质以及 Navicat 本身的功能限制。 ### 三级标题:理解 `.frm`、`.MYD`、`.MYI` 文件 `.frm` 文件MySQL 表的结构定义文件,`.MYD`(MYData)是 MyISAM 存储引擎的数据文件,而 `.MYI`(MYIndex)则是索引文件。这些文件通常用于 MyISAM 表的物理存储,无法直接通过 Navicat 等图形化工具导入,因为它们不是标准的 SQL 脚本或可移植的数据文件[^2]。 ### 三级标题:Navicat Premium 15 的限制 Navicat Premium 15 是一款用于数据库管理的图形化工具,支持多种数据库类型,包括 MySQL。它主要用于执行 SQL 脚本、导入导出 `.sql` 文件、进行数据库同步等操作。然而,Navicat 本身并不支持直接导入 `.frm`、`.MYD`、`.MYI` 文件,因为这些文件是数据库的物理存储文件,而不是逻辑数据表示形式[^1]。 ### 三级标题:导入 `.frm`、`.MYD`、`.MYI` 文件的可行方法 如果希望将这些物理文件中的数据导入到 MySQL 数据库中,可以采用以下方法: 1. **手动复制文件并重建数据库结构** 找到当前 MySQL 的数据目录(通常在 `my.ini` 文件中配置的 `datadir` 路径下),将 `.frm`、`.MYD`、`.MYI` 文件复制到对应数据库的目录中,然后重启 MySQL 服务,使数据库识别这些文件[^2]。 2. **使用 MySQL 命令行工具恢复数据** 在数据库服务启动后,可以尝试使用 `REPAIR TABLE` 或 `CHECK TABLE` 命令修复表结构,并通过 `SELECT` 语句导出数据为 `.sql` 文件,再使用 Navicat 导入该 `.sql 文件进行数据迁移[^3]。 3. **通过 MySQL Workbench 或其他工具辅助** 如果 Navicat 不支持直接导入这些文件,可以考虑使用 MySQL 自带的工具如 `mysqlfrm` 来读取 `.frm` 文件内容,重建表结构,并将数据导入数据库,生成 `.sql` 文件后,再使用 Navicat 导入该 `.sql` 文件。 ### 三级标题:示例操作(使用 `mysqlfrm`) ```bash mysqlfrm --server=root:password@localhost:3306 /path/to/your/table.frm --port=3307 ``` 上述命令将尝试从 `.frm` 文件中恢复表结构,并通过模拟的 MySQL 服务器端口(3307)提供该结构信息。然后可以将其保存为 `.sql` 脚本,并在 Navicat 中导入该脚本以重建表结构。 ### 三级标题:注意事项 - 在操作前务必备份所有 `.frm`、`.MYD`、`.MYI` 文件,避免数据丢失。 - 确保 MySQL 服务在操作前后正确启动关闭,防止文件损坏。 - 如果使用的是 InnoDB 存储引擎,直接复制这些文件可能无法成功,因为 InnoDB 表的结构数据管理方式不同。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值