论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Nosql
›
mysql数据库 Data文件夹.MYD/.MYI规复还原到数据库 ...
mysql数据库 Data文件夹.MYD/.MYI规复还原到数据库
海哥
论坛元老
|
2025-4-18 10:56:52
|
显示全部楼层
|
阅读模式
楼主
主题
1655
|
帖子
1655
|
积分
4965
windows体系中的MySQL 程序崩了,但数据库文件还在,如何救回? ----把这个问题扔给ChatGPT,按gpt/baidu/google提供的办理方案操作,折腾了一天,还是没有搞定。
数据规复没搞定,但也记录一下部分心得:
1、MySQL 提供了多种存储引擎,早期版本默认是MyISAM,从5.5版本开始默认InnoDB。
2、MySQL数据库每个表的数据在硬盘中都有独立的数据文件,以数据库名称作为文件夹名称,以表名称作为文件名。比方数据库"mytest"下有"users"表,那么Data目录下有mytest文件夹,文件夹有users.MYD等数据:
C:\ProgramData\MySQL\MySQL Server 8.0\data\mytest\ 目录下有
users.MYD(存储数据)
users.MYI(存储索引)
users.frm(存储表的界说)
或
users.ibd(存储数据和索引)
users.frm(存储表的界说)
从 MySQL 5.7 版本开始,InnoDB 表结构信息都不再单独存储在 .frm
从 MySQL 8.0 版本开始,MyISAM 也表不再生成 .frm 文件了
3、删除表,就会直接删除对应的文件,删除库就会简单粗暴直接删除对应的文件夹(纵然文件夹中有其你手动创建的文件)
4、对于数据的规复,早期版本相对容易规复,早期版本的数据文件对各种数据规复工具比力友好,但我试了多款工具都未能规复8.0版本的数据。
5、工具集:
---- 对于用InnoDB引擎的 .ibd文件规复,github上有一个开源的python脚本 ibd2sql 貌似挺不错。
---- 对于用MyISAM引擎的 .MYD/.MYI 文件规复:有 Stellar Repair for MySQL、Recovery Toolbox for MySQL、Kernel for MySQL Database Recovery、DataNumen MySQL Repair、MySQL Recovery Tool by SysTools、Repair MySQL、MySQL Dump Recovery Tool by SoftPerfect、 EaseUS Data Recovery Wizard、ApexSQL Recover 似乎有很多,但我试几款均只能规复8.0之前的版本,无法规复我的这份文件。(参考 https://blog.csdn.net/youuzi/article/details/132159830 )
=================
对于mysql 8.0及之后的版本,默认是用 InnoDB引擎的,但这次我发现我的无论是当地开辟环境还是服务器端的生产环境都是MyISAM引擎(文件夹中是 .MYD/.MYI ),我觉得希奇,后来才发现原来是phpstudy在搞鬼。
我当地开辟环境用的是phpstudy附带的MySQL,它安装方便,又不注册windows服务,不会开机主动启动,用完制止就开释资源了。但它的设置文件中,把默认引擎改为了MyISAM。所以用Navicat连接数据库后,在GUI界面创建的表默认都是MyIsam引擎。然后从Navicat导出的sql语句也是MyIsam,把sql语句导入到服务器的MySQL就也都是MyIsam引擎了。
之所以提这一点,一是我在想,假如是InnoDB引擎,那么保留下来的就是.ibd文件,就可以用ibd2sql来规复了。二是在生产服务器上,不是特殊场景的话,还是勤奋能更强盛的InnoDB引擎好。
另:phpstudy安装mysql的目录是 D:/phpstudy_pro/Extensions/MySQL8.0.12/,Data文件目录是D:/phpstudy_pro/Extensions/MySQL8.0.12/data 。假如卸载MySQL8.0.12,会简单粗暴地直接把 D:/phpstudy_pro/Extensions/MySQL8.0.12/整个目录删除掉,不管里面是否有手动加进去的文件。删除数据库也是直接data目录下的对应文件夹直接简单粗暴地删除。
m
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
海哥
论坛元老
这个人很懒什么都没写!
楼主热帖
makefile简单脚本编写和Linux调试器gdb ...
【第90题】JAVA高级技术-网络编程9(简 ...
CMOS图像传感器——黑电平校正 ...
TCP 时间戳妙用
windows提权-系统错误配置提权 ...
什么是精准卫星授时?什么是NTP网络时 ...
C++ 深度解析教程(十七)C 语言异常处 ...
Linux【实操篇】—— 日志管理 ...
如何使用 FlowUs 、Notion 等笔记软件 ...
姚凯大学生创业导论课后答案2022 ...
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
人工智能
linux
前端开发
快速回复
返回顶部
返回列表