导读有些场景(比如drop/truncate table)可能需要扫描磁盘才能恢复数据, undrop-for-innodb就很好用, 但我的ibd2sql还不支持啊, 于是就准备给它加这么个功能....当然得先验证下是否可行以及速度怎么样, 速度不行的话.原理表的数据是一页页的放在磁盘(文件系统)上的....只要磁盘上的数据没有删除,即使逻辑上删除了文件也是能恢复的, 如果时间短的话, 可以从文件系统级别根据inode恢复; 时间长了, 文件就不再完整了, 只能全盘扫的方式恢复了.那么扫描磁盘的时候我们怎么知道哪部分数据是我们要的数据呢...扫描磁盘寻找对应的PAGE; 然后使用ibd2sql等工具将PAGE中的数据提取出来....源码见文末总结所以,python扫描磁盘效果还是不错的, 速度也不错.在能扫描磁盘后, 我们能恢复mysql的范围就更广了, 基本上数据物理上存在我们就能恢复, 感觉自己棒棒哒!