Mysql 升级失败,导致表打不开,根据frm 和 ibd进行恢复
最近升级MySQL5.7, 升级失败了,然后数据库中的表全部打不开了,还好有 frm 和 ibd 文件可以进行恢复, 接下来记录下自己恢复的步骤,安心,安心,挺简单的
一、下载工具
-
-
mysql-utilities
#下载地址: wget https://downloads.mysql.com/archives/get/p/30/file/mysql-utilities-1.6.5.tar.gz #解压 tar -zxvf mysql-utilities-1.6.5.tar.gz #进入 cd mysql-utilities-1.6.5 编译 python ./setup.py build python ./setup.py install
-
Mysql链接工具
-
请使用任意工具, 只要能执行SQL就可以
二、备份 表 table data数据
备份 MySQL数据集的文件夹, 请根据自己mysql的位置自己查, 备份要恢复的 表, 文件夹名称就是表名,里面的 frm 是表结构 ibd 是数据
三、开始操作
1. 进行你备份的表文件夹, 执行以下语句,将获的表结构
mysqlfrm --diagnostic 你表的名称
2. 然后使用获取的表结构进行创建表的时候,会出现错误,需要删除以下内容, 注意, 字段大小可能会有点不一样, 需自己修改, 如果使用了 JSON字段, 将会被工具替换成decimal(6,16), 记得自己修改成 json
修改 decimal(6,16) -》 json
删除 CHARACTER
删除 SET
3. 创建完表后, 执行以下语句进行解锁 frm 和 ibd 的数据解绑
alter table 你表的名称 discard tablespace;
4. 解锁完成后,关闭MYSQL,
5. 关闭mysql后, 打开你刚创建的数据库,把原来要恢复的表 ibd 复制进行,进行替换, 注意, frm 不要复制进入
6 .复制进行以后,开启MYSQL,执行以下语句,进行 idb 和 frm 的绑定,然后重启mysql
alter table 你表的名称 import tablespace;
7. 这时可以看到,数据已经恢复了
四、结束,已恢复
直接查看表,数据都恢复了,并且能正常使用
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanefeh
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01