我正在尝试实现一个增量备份过程,它只转储和备份 MySQL 数据库中在过去 24 小时内修改过的表。我可以查看 /var/lib/mysql/DBNAME/ 下 .MYD 和 .MYI 文件的修改时间,以确定 MyISAM 表是否已被修改,但 InnoDB 表(尚未设置为使用它们自己的数据文件)没有唯一的文件“暴露”给我可以检查修改时间的文件系统。其中一些 InnoDB 表很大(超过 1 亿行),但它们很少更新/添加,例如每月两到三次。如果没有更改数据,我不想每天浪费时间/空间转储这些表进行备份。
由于数据库和表的性质(有些是临时/临时的,有些具有静态模式,我无法预测表是否有时间戳列,如果有,它的名称是什么),我无法查询表自己来确定它们最近是否被修改过。
MySQL是否有一个内置的“表修改时间”可以通过查询内置变量/表来公开?
我们所有的 MySQL 服务器都使用 5.1 或更高版本。