服务器(centos)意外损坏,mysql数据库.frm和.idb和ibdata1都在的情况下,怎么恢复数据

服务器(centos)意外损坏,mysql数据库.frm和.idb和ibdata1都在的情况下,怎么恢复数据,第1张

同学你好,很高兴为您解答!

很抱歉,没有遇到过类似的情况

希望我的回答能帮助您解决问题,如您满意,请采纳为最佳答案哟。

再次感谢您的提问,更多财会问题欢迎提交给高顿企业知道。

高顿祝您生活愉快!

一、InnoDB表结构的恢复

1

假定:MYSQL数据库已经崩溃,目前只有对应表的frm文件,大家都知道,frm文件无法通过文本编辑器查看,因为如果不恢复,基本上来说对我们没什么用。这里我们为了测试,假定该文件为test_innodb.frm

该表创建脚本如下:

mysql>create table test_innodb

->(A int(11) default NULL,

->B varchar(30) default NULL,

->C date default NULL) engine=innodb

Query OK, 0 rows affected (0.05 sec)

2

在新的正常工作的MYSQL环境下建立一个数据库,比如aa.

3

在aa数据库下建立同名的数据表test_innodb,表结构随意,这里只有一个id字段, *** 作过程片段如下:

mysql>create table test_innodb (id bigint not null)engine=InnoDB

Query OK, 0 rows affected (0.09 sec)

4

停止mysql服务器,将系统崩溃后留下的test_innodb.frm文件拷贝到新的正常数据库的数据目录aa下,覆盖掉下边同名的frm文件,重新启动MYSQL服务。

END

二. MyISAM表结构的恢复

同样先假定需要恢复的表的FRM文件为test_myisam.frm,表结构为

mysql>create table test_myisam

->(A int(11) default NULL,

->B varchar(30) default NULL,

->C date default NULL) engine=myisam

Query OK, 0 rows affected (0.05 sec)

直接将test_myisam.frm拷贝到正常数据库对应的数据目录下。这时测试

mysql>show tables

+--------------+

| Tables_in_aa |

+--------------+

| test_innodb |

| test_myisam |

+--------------+

3 rows in set (0.00 sec)

mysql>desc test_myisam

ERROR 1017 (HY000): Can't find file: 'test_myisam' (errno: 2)

发现只能通过show tables命令看见表名,但是表结构还是没有恢复,desc命令报错。

在与test_myisam.frm同一目录建立以下2个文件,文件内容可以为空:

test_myisam.MYD test_myisam.MYI

在MYSQL命令行使用MYSQL本身的数据表恢复命令repair命令恢复表,如下:

mysql>repair table test_myisam USE_FRM

+-----------------+--------+----------+----------+

| Table | Op | Msg_type | Msg_text |

+-----------------+--------+----------+----------+

| aa.test_myisam | repair | status | OK |

+-----------------+--------+----------+----------+

1 row in set (0.00 sec)

根据结果可以知道,恢复命令执行成功

1、找回表结构,如果表结构没有丢失直接到下一步a、先创建一个数据库,这个数据库必须是没有表和任何 *** 作的。b、创建一个表结构,和要恢复的表名是一样的。表里的字段无所谓。一定要是innodb引擎的。CREATETABLE`weibo_ 0`(`weiboid`bigi


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9902178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存