mysql数据库frm文件和ibd文件可以删除吗

mysql数据库frm文件和ibd文件可以删除吗,第1张

这两个文件可以批量恢复innoDB表

创建已经丢失的表结构

先要安装 mysql-utilities。

// RedHatyum -y install mysql-server mysql-utilities// Debianapt install mysql-utilities

使用 mysqlfrm 从 .frm 文件里面找回建表语句。

// 分析一个 .frm 文件生成建表的语句mysqlfrm --diagnostic /var/lib/mysql/test/t1.frm// 分析一个目录下的全部.frm文件生成建表语句root@username:~# mysqlfrm --diagnostic /var/lib/mysql/my_db/bk/ >createtb.sqlroot@username:~# grep "^CREATE TABLE" createtb.sql |wc -l124

可以看到一共生成了 124 个建表语句。

有很多时候也可以从其它库里面生成建表语句,如同一个应用的其它数据库或不同的测试环境,采用下面的 mysqldump 生成建表语句:

mysqldump --no-data --compact my_db>createtb.sql

登录 MySQL 生成表。

mysql>create database my_dbmysql>use my_dbDatabase changedmysql>source createtb.sqlQuery OK, 0 rows affected (0.07 sec)......

导入旧的数据文件

将新建的没有包括数据的 .ibd 文件抛弃

root@username:/var/lib/mysql/my_db# ll *.ibd|wc12411167941root@username:/var/lib/mysql/my_db# mysql -e "show tables from my_db" \| grep -v  Tables_in_my_db  \| while read ado mysql -e "ALTER TABLE my_db.$a DISCARD TABLESPACE"doneroot@username:/var/lib/mysql/my_db# ll *.ibd|wcls: cannot access '*.ibd': No such file or directory000

可以看到所有的 .idb 文件都已经被抛弃了。然后把旧的有数据的 .ibd 文件拷贝到这个 my_db 目录下面,别忘了把属主改过来:chown mysql. *,再把这些数据文件 import 到数据库中。

root@username:/var/lib/mysql/my_db# mysql -e "show tables from my_db" \| grep -v  Tables_in_my_db  \| while read a\do mysql -e "ALTER TABLE my_db.$a import TABLESPACE"done

导入完成后检查表

使用 mysqlcheck 对数据库 my_db 下的所有表进行检查:

root@username:/var/lib/mysql/my_db# mysqlcheck -c my_dbmy_db.cdp_backup_point                             OK......

所有的表都导入成功。

*.frm是描抄述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引,.opt记录数据库的选项,数据库的字符集设置。

在windows系统下,MYSQL数据库文件是以.FRM,MYD,MYI为后缀名存在的,但是在LINUX环境下,需要转化成后缀名为.sql数据文件形式,将.FRM,MYD,MYI文件转换为.SQL数据库的方法:

1、输入http://127.0.0.1/phpmyadmin,打开phpmyadmin。

2、进入phpmyadmin,找到导出选项。

3、点击导出选项,进入导出页面,选中test数据库文件夹。

4、然后选中【另存为文件】,这是最为重要的一步,否则导出失败。

5、然后点击执行,点击保存路径,这里保存到了桌面,点击下载,.SQL文件就会保存到桌面。


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

原文地址: http://outofmemory.cn/zaji/7343450.html

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

发表评论

登录后才能评论

评论列表(0条)

保存