我停掉mysql服务,把ibd文件复制出来,放到安全的地方,开启数据库服务,删除当前库中的表的部分数据,比方说数据由100行,变成30行。然后停服务。
再把放在安全地方的ibd文件放回他原本的位置,这样数据行又变成100行,并且是可读写状态。
这是不是mysql的一个小bug?还是我开了容错模式?
我希望即便是覆盖了之前的ibd文件,但是通过日志,也应该回到删除部分数据的情况,或者是否是我没开启日志管理?
你这是在个人测试环境中,在生产环境操作,会损害数据页。
InnoDB的ibd文件里面存放的是数据文件,ibd文件是支持拷贝和导入到其他环境的。
可以参考官方文档。