使用(*.frm *.MYD *.MYI)文件恢复MySql数据库

本文介绍了从PHPStudy切换到WAMPServer后遇到的旧数据未同步问题及解决方法。通过了解MySQL数据库文件组成(.frm、.MYI、.myd、db.opt),将所需文件迁移至新路径,并重启服务,最终实现数据恢复。

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

为了TP,卸载了PHPSTUDY,安装WAMPSERVER

N天以后,发现旧的数据没有同步过来

在这里找到了我要的文件,http://www.cnblogs.com/jycboy/p/5175180.html

保存下来以防以后遇到

首先介绍MYSQL数据库的组成:
    *.frm----描述了表的结构
    *.MYI----表的索引
    *.myd----保存了表的数据记录
    db.opt----用文本编辑器打开,可以看到里面保存的是编码信息

按需要恢复的数据库名字,把相同的后缀一并保存到新的路径,重启服务,重新登陆数据库管理即可。

 

转载于:https://www.cnblogs.com/yanjibao/p/7581448.html

使用 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、付费专栏及课程。

余额充值