有什么方法可以通过任何命令查看哪些数据最后添加到 MySQL 数据库以及添加该数据的时间吗?
发行版:Debian 7.0(喘息)
答案1
不直接。不过,您可以通过两种方式获取此信息:
A. 日志的使用
MySQL 提供了在“日志”中存储更改的能力。这主要用于复制和备份。
在 5.0 之前,这是一种 ASCII 格式,包含实际对数据进行更改的所有 SQL 语句 -http://dev.mysql.com/doc/refman/4.1/en/update-log.html
然而,5.0 及更高版本转向二进制日志格式,这将需要某种类型的分析(尽管这无疑可以通过独立实用程序或使用 MySQL 的第二个副本来查看更改处理超出了我的知识范围,并且这个答案)-http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
B. 更混乱的方法是检查文件更新时间(这些二进制文件是数据库在磁盘上存储的位置)。理论上,您可以看到哪些数据库已更新(使用时间戳更新的文件 - 尽管由于索引和其他非更新更改,这可能不完善),然后查看各个数据库。
使用这种方法只能表明哪些数据库可能已更新,当然不能表明更新程度或哪些表。
另一种选择可能是一个自定义脚本,它获取所有表的列表并存储可能最高的主键(对于自动增量键)或行数,然后定期再次检查(所有这些都可以轻松自动化,因为 MySQL 提供了描述表结构等的命令)。