Mysql服务无法启动,使用 ibd数据文件恢复数据方法(windows版本)
前置条件
1.需要安装python3环境
2.查询本地python版本命令
python --version
一:工具下载
1.github工具下载链接:
https://github.com/ddcw/ibd2sql/tree/main
2.下载
https://github.com/ddcw/ibd2sql/archive/refs/tags/v1.4.tar.gz
3.解压:
解压路径没有什么要求,随便找个地方都可以,解压后的文件如下:
二:恢复数据
1.在解压后的目录内,输入cmd,打开黑窗口。
***2.查看帮助命令(这个作为了解) ***
python main.py --help
3.将Mysql Data文件夹中的ibd文件恢复,使用如下命令:
python main.py xxxx.ibd --sql
解释:xxx.ibd代表ibd文件存放路径。
举例:比如在D:\ceshi有一个ibd文件,现在要把这个文件的数据恢复成sql。
具体执行如下图:
python main.py D:\ceshi\sys_user.ibd --sql
最后一步:把这些解析出来的数据,直接放到Navicat,或者其他工具执行sql,就完成了。
三:其他命令
1.如果不知道表结构,可以先执行这个命令,解析出表结构(DDL)
python main.py D:\ceshi\sys_user.ibd --ddl
2.解析表数据(DDL+DML)
python main.py D:\ceshi\sys_user.ibd --ddl --sql
3.解析被误删的数据
python main.py D:\ceshi\sys_user.ibd --sql --delete
ps:最后总结
原因:数据库突然起不来,只好先备份Data文件,重新初始化生成Data文件。
这个是解决mysql服务停止运行的办法(参考别人的)我自己试用了一下,可以!
最后一个就是,如果查询python版本的时候,你用的命令是:
python3 --version
那么本文中所有命令中的:python ,都需要替换成python3
好了,到这里就算结束了。
祝各位前程似锦,大吉大利,天天开心,学业有成,工作愉快,拜拜~