想用监控mysql的请求信息,具体包括:sql发起方的ip(来源ip),执行的sql是什么,使用的数据库用户名和影响行数;目前已经测试了 packetbeat/mysql_audit_plugin/mysql_sniffer几种方式,因版本或信息不全原因都不符合;园园上有老哥做过此类嘛
MySQL的审计需求可以通过多种方式实现,具体选择哪种方式取决于你的环境和需求。以下是一些可能的方法和建议:
MySQL Enterprise Audit Plugin:
MySQL提供了一个官方的企业审计插件,它可以用于审计数据库活动,包括SQL查询、用户连接和更多。你可以配置它来记录所需的信息,如SQL语句、IP地址、用户名、影响行数等。这是一种强大且可定制的审计解决方案。
开源审计插件:
有一些开源的MySQL审计插件,如MariaDB的query_response_time插件、Percona的Audit Log Plugin等。这些插件可以帮助你监控SQL查询和其他数据库活动。你可以选择适合你的数据库版本和需求的插件。
第三方审计工具:
使用第三方审计工具,如MaxScale、ProxySQL、Percona Monitoring and Management(PMM)等,这些工具可以提供更高级的审计和监控功能,包括SQL查询分析、性能优化等。它们通常提供了更多的选项和报告。
自定义解决方案:
如果没有找到适合你需求的现成解决方案,你可以考虑自定义解决方案。你可以编写一个脚本或应用程序,使用MySQL的审计日志或二进制日志来捕获和分析SQL查询和其他相关信息。这将需要更多的开发工作,但可以满足你的特定需求。
合规性和安全性:
如果你的审计需求涉及合规性要求(如HIPAA、GDPR等)或安全性要求,你可能需要更严格的审计解决方案,可能需要结合数据库审计与操作系统层面的审计工具。
无论你选择哪种方法,都需要仔细规划和配置审计,以确保捕获所需的信息,并根据你的需求定期检查审计记录。审计是确保数据库安全性和合规性的关键部分,所以它值得投入时间和资源来实施。请根据你的具体需求和环境选择最合适的解决方案。
mysql官方审计插件仅支持企业版,不支持社区版;第三方审计插件,开源的审计插件mariaDB好像仅支持到5.6, mcafee的审计插件仅支持 x86,无arm版本呢;packetbeat采集信息中没有 数据库用户;我会再测试 maxscale、proxySQL和 PMM试试 _
学习!!!!!!!!!!