mysql数据库是.frm,.myd,myi备份如何导入mysql

本文介绍两种将MySQL数据库的.frm,.myd,.myi文件导入的方法:直接拷贝到目标数据库文件夹或通过本地MySQL服务器转换为.sql文件再导入。

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

今天找了个案例,琢磨了半天,才分析大概出来,数据库是.frm,.myd,myi备份,不会导入mysql,到网上找了些资料,导入成功。

首先说一下这几种文件是干什么的,*.frm是描述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引
把mysql数据库的*.frm,*.myd,*.myi,文件导到数据的方法

1、最简单就是,直接拷贝到数据库的的data下的数据库文件夹,前提是
mysql的版本一致,字体一致。
此方法简单快捷但不是没个人都能做到。


2、就是在本地机器安装mysql数据库转换*.frm,*.myd,*.myi,文件为*.sql文件:

1、首先安装mysql,最好版本和服务器一致,字体也要一致(不一致导入后有后遗症-乱码)。
2、然后用建库命令 创建新的数据库命令如下:
create database name;(创建名为name的数据库呵呵“;”不能少) 然后去你安装的mysql目录下的data文件夹下就有个name文件夹。(为何在此我的Mysql5.5版本,没有生成此文件夹呢?

按照网上的说法,我建立那个名为dbname的数据库时系统就建立了个以数据库名命名的文件夹,这个文件夹位于MySQL安装目录下的data文件夹下,我找了半天根本没有,甚至MySQL安装目录下根本就没有data这个文件夹,再次google,原来是这样,MySQL 安装路径下面有个my.ini,用记事本打开 查找 datadir,后面有路径, 我的是 C:/ProgramData/MySQL/MySQL Server 5.1/Data/

3、把你的*.frm,*.myd,*.myi文件统统考P到data文件夹下。
4、然后在命令提示符下进入到mysql 安装目录的bin目录下 进行导出为*.sql文件。
mysqldump -uroot -p name > name.sql。

 (执行,注意:name就是我前面创建的数据库名字。完后你就会在bin目录下发现一个name.sql了,怎样,简单吧。但是我在用的时候发现命令提示符下用cd命令已经不能进入bin目录了,甚至不能更改当前目录,不知为何,难道是因为装了MySQL?双击mysqldump.exe,cmd窗口一闪而逝,命令没法输入吖,咋办,又得想招,还是用批处理吧,简单省事。在bin目录里建立个txt文件,把上面那条命令复制进去,另存为,保存类型选所有文件,上面的文件名随便取,但是要加上扩展名.bat,例如“新建文本文件.bat”,保存。双击刚生成的这个bat文件,搞定。(有的同学不会使用cd命令,google一下便知,例如我输入cd e:\aaa,执行后当前目录就是e:\aaa了))

自己操作的几点体会:
1、mysql数据库最好安装的根目录下这样在命令提示符时省很多事情。
2、*.sql倒出时最好是一个表一个表的导出 文件名最好为 dataname_tabname.sql,好记便于导入。
而且一个表的导出*.sql文件小。因为好多数据库限制大小,例如我用的DH的空间限制为10m ,大了的话导入不了(对了导出后大于服务器限制的可以打成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 表的结构数据管理方式不同。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值