事件起始
某夜,我正在床上冥想准备入睡,忽然同事向我求救:消息内容如下:
Oh My Gold 改了些配置,啥都没了!都没了!没了!了!
我仔细询问,原来是她因为某些原因将某库的物理文件夹改名后,发现数据库找不到了。于是又将名称改回来。结果仍然找不到。这让她觉得数据可能被损坏了,于是赶忙来找我修复。
修复过程
我们数据库用的版本是 MySQL5.7 ,放置在Linux服务器上,在my.cnf 配置了数据库物理文件的存放地址。存放于 data 文件夹下。
表的存储引擎全部使用 InnoDB,data 目录的文件依次如下
用数据库名命名的文件夹,文件夹内存放的 .ibd ,.frm 文件依次是数据库表数据文件和表结构文件
ibdata1 (存放InnoDB表元数据、undo logs、the change buffer, and the doublewrite buffer) 文件
ib_logfile0 ,ib_logfile1 事务日志
这个时候我首先想到的是我本机用Navicat备份过一个文件,立刻打开Navicat尝试