MySQL,有没有办法判断数据库上次更改/修改的时间?

use*_*666 10 mysql

我每小时创建 5 个数据库的 MySQL 转储。其中 3 个数据库很少更改,因此为这 3 个数据库创建 MySQL 转储几乎是在浪费时间和资源。

有没有办法可以检索特定数据库上次更改/更新时的 unix epoch 秒数?我会将它与最新的转储文件进行比较,如果有更改,则只转储另一个。

所以再次提问:如何获取特定数据库上次更新/更改的unix epoch datetime?

Phi*_*lds 6

仅适用于 MyISAM 表

您可以对 information_schema 表运行 MySQL 查询:

示例(将 dbname 替换为您的数据库名称):

SELECT UNIX_TIMESTAMP(MAX(UPDATE_TIME)) as last_update 
FROM information_schema.tables 
WHERE TABLE_SCHEMA='dbname' 
GROUP BY TABLE_SCHEMA;
Run Code Online (Sandbox Code Playgroud)


pQd*_*pQd 3

它并不完全满足您正在寻找的内容,但我认为这就是您所需要的:启用二进制日志记录、备份二进制日志并每周左右创建一次完整转储。