我需要监控我的数据库中的mysql用户[英] i need to monitor mysql users in my databases

问题描述

你好


我非常熟悉 Mysql 数据库,我一直在 IT 领域工作,处理运行 sql 脚本以查询不同报告的数据库.

我的问题很简单,我想知道是否有办法找出不同用户在我的数据库中运行的所有记录或脚本.因为我是管理它的人,我想知道是否有一张表可以保存或记录不同用户使用的所有信息或脚本.这将帮助我更好地管理并了解每个用户在一天内做了什么.


非常感谢您的帮助.

推荐答案

看看:

http://dev.mysql.com/doc/refman/5.6/en/account-activity-auditing.html[^]

http://fromdual.com/mysql-logon-and-logoff-trigger-for-auditing[^]

对于一般审计,您可以尝试使用日志:
http://dev.mysql.com/doc/refman/5.6/en/server-logs.html[^] - 虽然我还没有尝试过,但它看起来很有希望.

MS SQL Server 功能齐全[^] 涉及审计.

最好的问候
Espen Harlinn

我不认为 MySQL 或其他基于客户端-服务器模型的数据库管理系统旨在监控用户.(有人可以证明我错了,请发表评论.)

因此,解决方案是在某个中间中监控用户的活动.但是在这种情况下,所有数据库连接都应该完全关闭,以供来自外部的任何访问,并且只能由该中间层访问(您可以在与数据库主机相同的主机或相同的本地网络上运行).所有对数据库的请求都应该只发送到中间层,并且该层应该将所有请求和查询结果中继到数据库管理系统.

您仍然可以使用 3 层模型;在这种情况下,您的监控功能可以添加到逻辑层.

您可以选择该层的任何通信模型在网络上工作;我建议更喜欢 WCF 服务.WCF 可以由层服务自托管.如果您没有使用 .NET 或并非所有客户端都是 .NET 应用程序,那么它可能是一个 Web 服务.

请看:
http://en.wikipedia.org/wiki/Multi-tier_architecture[^],
http://en.wikipedia.org/wiki/Windows_Communication_Foundation[^],
http://msdn.microsoft.com/en-us/library/ms733128.aspx[^],
http://en.wikipedia.org/wiki/Web_service[^].

—SA

本文地址:https://www.itbaoku.cn/post/1395069.html