mysql frm恢复数据_MYSQL使用.frm恢复数据表结构的实现方法
我们都知道当我们建立数据表(innodb或myisam)时,会生成相应的文件(如:MYD,MYI,frm)
在这里,我们探讨下使用frm文件恢复 innodb和myisam类型表的结构,不过由于他们存储引擎的特性,所以恢复的方法也不一样,以下是详细的恢复过程。
myisamchk "xxx.frm" myisamchk 可以试出来,库是不是 myisam 类型
1:恢复innodb类型数据表结构
我们先从test数据目录 copy一个innodb.frm文件到另外一个库(innodb)
mysql> USE innodb;
mysql> DATABASE changed
mysql> SHOW CREATE TABLE innodb;
ERROR 1146 (42S02): TABLE 'innodb.innodb' doesn't exist
说明拷贝过来的文件是不能直接使用的,然后我们建立另外一个库(tmp),并在这个库里建立一个innodb类型的表
mysql> CREATE DATABASE tmp;
mysql> CREATE TABLE innodb (`id` int(11) NOT NULL) ) ENGINE=InnoDB
DEFAULT CHARSET=utf8;
然后我们copy innodb下的 innodb.frm 到 tmp数据目录下,并覆盖tmp目录下的innodb.frm
下面我们 restart mysql 试试
mysql> SHOW CREATE TABLE innodb \G;
*************************** 1. row **********
TABLE: innodb
CREATE TABLE: CREATE TABLE `innodb` (
`dd` varchar(1) NOT NULL,
`cc` varchar(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row IN SET (0.00 sec)
ERROR:
No query specified
mysql> INSERT INTO innodb (dd,cc) value (1,2);
mysql> Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM innodb;
ERROR 2013 (HY000): Lost connection TO MySQL server during query
所以数据结构是可以看到的,但是不可以查询,好了,这就是使用.frm恢复 innodb类型的表结构
2:恢复myisam类型数据表结构
恢复myisam类型的就简单多了,我看下面步骤
首先还是和上面一样,从test数据目录下 copy一个test.frm 到 tmp库的数据目录
mysql> USE tmp;
mysql> SHOW CREATE TABLE test;
ERROR 1017 (HY000): Can't find file: 'test' (errno: 2)
提示找不到文件,下面我们来处理错误,在tmp数据目录下建立 test.MYI 和 temp.MYD 文件,然后我们使用mysql自带的修复表命令
mysql> repair TABLE test USE_FRM;
+------------------+--------+----------+----------+
| TABLE | Op | Msg_type | Msg_text |
+------------------+--------+----------+----------+
| test.test_myisam | repair | STATUS | OK |
+------------------+--------+----------+----------+
1 row IN SET (0.00 sec)
mysql> SHOW CREATE TABLE test \G;
*************************** 1. row **********
TABLE: test
CREATE TABLE: CREATE TABLE `test` (
`dd` varchar(1) NOT NULL,
`cc` varchar(1) NOT NULL
) ENGINE=myisam DEFAULT CHARSET=utf8
1 row IN SET (0.00 sec)
ERROR:
No query specified
mysql> INSERT INTO test (dd,cc) value(1,2);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM test;
+------+
| dd | cc
+------+
| 1 |2
+------+
1 row IN SET (0.00 sec)
好了,这个表结构也看到了
mysql frm恢复数据_MYSQL使用.frm恢复数据表结构的实现方法相关推荐
- mysql没开启binlog恢复数据_MySQL:binlog恢复数据
如果删库了,先别急着跑路. binlog是MySQL的二进制日志,会记录我们的操作.删除的数据可以通过binlog恢复,不过要先开启binlog功能,编辑my.cnf文件完成下面配置后重启. log- ...
- c 更新mysql数据_MySQL插入更新删除数据
数据插入 插入完整的行 INSERT INTO customers VALUES(NULL, 'Pep E. LaPew', '100 Main Street', 'Los Angeles', 'CA ...
- mysql 软件导出导入数据_MySQL 之 导出导入数据
mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p --databases db_name > test_db.sql ...
- mysql批量导入 导出数据_MySQL批量导入导出数据
批量向mysql插入(文本)数据的方法有以下3种: 方法1. 可以先将要插入的数据统一保存在 .sql 文件中,各个insert 语句直接用分号分开.之后执行命令: source .sql 文件即可. ...
- mysql scrapy 重复数据_mysql数据库如何处理重复数据?
前言 前段时间,很多人问我能不能写一些数据库的文章,正好自己在测试mysql数据库性能的时候,出现了一个问题,也就是出现了很多重复的数据,想起来自己long long ago写过一篇类似的,仅此就拿来 ...
- mysql 插入记录慢_mysql:insert插入数据过慢如何解决,设置innodb_flush_log_at_trx_commit为0就能解决...
问题: 最近在做性能测试,造数据,发现insert好慢,只有几十条每秒,很奇怪,最后再网上找到了原因. 网文如下: MY SQL insert 速度过慢 最近在用MySQL做存储,测试中发现插入数据太 ...
- mysql字符集修改保存_mysql更改已有数据表的字符集,保留原有数据内容
环境:在应用开始阶段没有正确的设置字符集,在运行一段时间以后才发现存在不能满足需求需要调整,又不想丢弃这段时间的数据,那么就需要进 行字符集的修改.字符集的修改不能直接通过"alter da ...
- mysql 复制数据_MySQL快速复制数据库数据表的方法
某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库.使用以下方法,可以非常简单地实现. 假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb.步骤如 ...
- mysql怎么保证热点数据_MySQL里有2000w数据,redis中只存20w数据,如何保证redis中数据都是热点数据...
计算20w的热点数据占据内存的大小.然后在Redis中,配置最大内存容量,在redis.conf文件maxmemory 标签中配置. 当redis内存数据大小上升到一定大小的时候,就会施行数据淘汰策略 ...
最新文章
- Mac OS X Glut build instructions
- 企业微信_读取成员(获取用户详情)
- keil4怎么移植其他人的程序_【调试笔记】韦东山:在100ask_imx6ull上移植使用六轴传感器ICM20608...
- 服务器配置能连多少个小程序,每个服务器能配置多少小程序
- 全景图下载,全景管家高清全景图(一键下载建E、720云全景原图)
- mysql支付账单怎么设计_订单与支付设计
- linux mysql 命令行查询 乱码_mysql命令提示行连接乱码的解决
- 量化投资 -- 技术篇(6)投资组合策略性能评价(上)
- 人活着的三种境界[转帖]
- 大数据数据湖之hudi
- 淘宝传奇工程师多隆的程序世界
- 使用canvas进行图片压缩(前端图片压缩核心处理)
- Windows 中安装 MariaDB 数据库
- Type.GetType()在跨程序集反射时返回null的解决方法
- 数据结构笔记正式版8――手写
- 采样 | 高压直流采样电路详解
- SVN文件夹里面的文件没有绿色勾号
- 数据分析是什么?数据分析的现状是什么?
- 海康威视-测试-面经(一面+hr面)
- 百度站长工具使用指南
热门文章
- Oracle数据库查看用户状态
- 给用户增加SAP_ALL权限
- SAP的标准对话框函数
- 疫情退票引爆的潘多拉盒子,境外旅游商家濒临倒闭
- 主从mysql能过滤指定dml吗_MyCat教程二:mysql主从复制实现 - HG-93
- 计算机电路逻辑分析基础知识答案,计算机电路基础学习指导与习题解答
- arcgis 出图背景_ArcGIS中导出数据时老显示导出失败,显示“保存对象时出错”什么原因?...
- oracle如果为空替换为0,oracle 如何把0转为null
- python基础教程:强制数据类型转换教程及实例
- Python基础高级用法,必须要掌握的知识点