在审计任务中,我要删除几个 mysql 用户。在删除之前,我想检查这些用户最后一次访问数据库服务器的时间。 我想知道我们是否将此信息存储在 information_schema 或 mysql 数据库中。如果不是,我们如何实现这一目标?
最佳答案
您可以在常规日志中查找任何不成功的 MySQL 连接尝试,但是开箱即用的 MySQL 通常不会记录成功的数据库连接。 这可能会变成一个非常非常大的日志,并且该事件可能会很快淹没 I/O 子系统并导致数据库出现问题。
您可以设置这种类型的日志记录,但它会产生大量数据! 查看 DBA Exchange 中的这篇帖子:https://dba.stackexchange.com/questions/668/audit-logins-on-mysql-database
如果您使用的是您自己的数据库服务器,您应该能够做到这一点。如果您有 DBaaS 类型的东西, Multi-Tenancy 数据库系统将死于记录每个连接。这可能是不可能的?
您还可以从 Percona 博客中找到有关在 MySQL 中启用用户跟踪的一些步骤:https://www.percona.com/blog/2012/12/28/auditing-login-attempts-in-mysql/
关于mysql用户上次登录/访问日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47034690/