记一次MySQL数据库crash事件

MySQL8.0数据库最近一次不知道怎么回事,突然启动不了,如下提示
MySQL Daemon failed to start
日志如下

记一次MySQL数据库crash事件

网上也找了很多资料,但都处理不了
因为本人安装数据库习惯将安装好的数据库移到移到其他目录,所以做了一个操作,用原来的覆盖现有的文件
左边是原始数据库文件,右边是移动数据库目录后的在使用的记一次MySQL数据库crash事件
删除原始数据库没有的文件(不要删除数据库哦!!!)
然后重新拷贝覆盖
然后重启,OK!!
上面操作只是把数据库恢复了,但是数据库没有数据了(当然除了原始的),接下来要做的就是用.ibd恢复数据了
前提:你有备份的数据库结构(当然一般都有,线上一份,开发中一份)
现在把你正常数据库里的数据文件移走,备份(包括数据库文件)
记一次MySQL数据库crash事件

1.新建数据库(还是carcon)
2.将你的aa.ibd文件放到你的carcon文件夹里,随便改名(bb.ibd),避免冲突
3.导入建表sql,新建表,此时会生成新的aa.ibd
4.删除表空间
ALTER TABLE aa DISCARD TABLESPACE; 会自动删除 新生成的aa.ibd文件
5.将bb.ibd文件改名aa.ibd(注意权限:chown -R mysql:mysql ./)
6.导入表空间
ALTER TABLE aa IMPORT TABLESPACE;
7.结束,OK!!
8.如果报错,在建表语句最后 加上 ROW_FORMAT=COMPACT保持一致