我正在使用mysql workbench来运行我的查询以与mysql交互。我查看了“%AppData%\ MySQL \ Workbench \”文件夹,发现了一些日志文件,其中包含有关mysql元数据的信息。
我找不到包含用户创建日志的任何日志文件。我找到了两个与查询日志相关的文件。一个是在sql_history / date文件中。这包含与时间戳一起发出的查询,但不包含用户信息。第二个文件是log / sql_actions_unconnected.log。这也没有用户信息。
这是我的要求 -
1.上周,上个月,上个季度增加的用户数量
2.他们解雇的#个查询的前10位用户是什么?
3.每组#users的前3个用户组是什么?
4.什么是数据库 - 按GB的最高到最低顺序排名前3位
除了依赖日志文件之外,还有其他方法可以完成上述任务吗?如果不是如何根据日志文件获取上述信息。
答案 0 :(得分:0)
默认情况下,这不会被记录,您需要创建自己的机制。最干净的方式是审计插件。见https://dev.mysql.com/doc/refman/5.7/en/writing-audit-plugins.html
这可以从sys
架构中查询,如下所示:
SELECT * FROM sys.user_summary ORDER BY statements DESC LIMIT 10;
MySQL 5.7提供sys
架构。对于MySQL 5.6,它可以在performance_schema之上手动安装。
见https://dev.mysql.com/doc/refman/5.7/en/sys-schema.html和
https://github.com/mysql/mysql-sys
不知道你想要什么
这可以在information_schema
中找到,如下所示:
SELECT TABLE_SCHEMA, SUM(DATA_LENGTH) data FROM information_schema.tables GROUP BY TABLE_SCHEMA ORDER BY data DESC LIMIT 10;
但是请注意:这个值是部分猜测的。实际磁盘使用情况可能会有所不同,即池中已删除数据的碎片。 https://dev.mysql.com/doc/refman/5.7/en/tables-table.html
上的文档