我使用inotify来监视对mysql数据文件的更改,而存储引擎是InnoDB。当实际更新InnoDB .IBD文件中的数据时,inotify将始终无法捕获任何事件。但是,当我将相同表的存储转换为MyISAM存储引擎时,一切都像魅力一样。
关于发生了什么的任何想法?
答案 0 :(得分:0)
InnoDB不会立即写入表空间;这样,它可以更快。它会写入日志,因此它是ACID。
您要求MySQL无法提供的内容,而且不应该提供。
但是,如果打开binlog并对其进行监视,则可以捕获对所有表的所有修改。也许inotify
和tail -f binlog...
的组合对你有用吗? (注意:binlog文件的名称会定期更改。)