我正在调试使用MySQL的Web应用程序。我看到很多表在不同的流程之间被修改(注册,编辑等等)。而且,通过代码库来理解在不同调用之间修改的所有表是非常困难的。
是否有更好的观察力来了解所有表格在两次(两次调用)之间被修改的内容。
答案 0 :(得分:4)
启用general query log以了解所有查询的执行情况。
我遇到了这个 - How can I tell when a MySQL table was last updated?
在MySQL的更高版本中,您可以使用information_schema数据库 告诉你何时更新了另一张表:
SELECT UPDATE_TIME FROM information_schema.tables WHERE TABLE_SCHEMA ='dbname'和TABLE_NAME ='tabname'
这当然意味着打开与数据库的连接。
答案 1 :(得分:2)
SHOW TABLE STATUS FROM db_name WHERE Update_time BETWEEN (<date1> AND <date2>)
答案 2 :(得分:2)
以下内容将返回有关数据库的不同时间戳。看看这对你有帮助。
SELECT *
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'dbname'
您也可以考虑使用像http://www.jetprofiler.com/
这样的mysql探查器答案 3 :(得分:1)
在服务器上启用binlog,这比querylog更好,因为它只包含更改(更新,插入,删除)。
Hoevery,你必须使用mysqlbinlog命令行工具将其转换为纯文本文件:
mysqlbinlog server-bin.00001 > binlog.txt