是否有任何命令可以查找一个月左右没有任何活动的数据库?
只需获取一个月的 SQL 转储并运行差异,如果没有差异,则删除该数据库?
答案1
答案2
一个非常方便的查询,显示数据库的最后更新时间:
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(MAX(UPDATE_TIME))) as last_update FROM information_schema.tables WHERE TABLE_SCHEMA='YourDatabaseNameHere' GROUP BY TABLE_SCHEMA;
谢谢http://james-berger.blogspot.fr/2013/04/find-unused-mysql-databases.html
答案3
不同的 SQL 转储只会显示数据库是否已被修改,而不会显示数据库是否已被查询。
您可以使用慢查询日志来查看针对数据库运行的查询,尽管我现在不能确定它们是否包含针对该查询运行的数据库。
如果您不关心读取,您可以使用 MySQL 复制日志来查看是否有针对这些数据库的任何写入活动。
答案4
转储不会显示没有活动,它们会显示缺少更新,这是不一样的事情。
我不知道 mysql 是否持续接触它已打开的数据库。如果没有,mtime 应该会告诉你。如果有,你可能需要查看日志。