首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示连接到DB的用户

问显示连接到DB的用户
EN

Database Administration用户
提问于 2014-01-17 19:27:57
回答 2查看 211关注 0票数 0

我们正在生产环境中使用Maria DB (v5.3,我相信)。

我们拥有的一个问题是,在所有连接到db的应用程序中都使用dev用户(该用户拥有完全的权限和权限)。我们已经开始制作特定于应用程序的用户,并将其替换为dev用户。

一旦我们替换了dev用户,计划就是将(dev)用户的权限/特权限制为只读。

我相信,我们现在已经将大多数应用程序用户从dev替换为他们的应用程序特定用户。但是,我不能百分之百地确定没有一个应用程序仍然在使用dev用户。

我的问题是,是否有sql或日志告诉我,在过去的一天/周/月中连接到数据库的w/的用户,等等?我如何从历史的角度来判断谁连接到数据库?

EN

回答 2

Database Administration用户

发布于 2014-01-17 20:10:43

您可以使用常规日志记录每个连接。

实际上,您可以将该信息记录到表中。

在mysql模式中,有一个名为general_log的表。下面是:

代码语言:javascript
复制
mysql> show create table mysql.general_log\G
*************************** 1. row ***************************
       Table: general_log
Create Table: CREATE TABLE `general_log` (
  `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `user_host` mediumtext NOT NULL,
  `thread_id` bigint(21) unsigned NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `command_type` varchar(64) NOT NULL,
  `argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
1 row in set (0.01 sec)

mysql>

当然,表使用CSV存储引擎。您可以将其更改为MyISAM并对其进行索引。事先复印一份表格:

代码语言:javascript
复制
use mysql
CREATE TABLE general_log_copy LIKE general_log;
ALTER TABLE general_log ENGINE=MyISAM;
ALTER TABLE general_log ADD INDEX (event_time);

要激活它,就这样做

1)通过将这些行添加到my.cnf,将常规日志配置为记录到表中。

代码语言:javascript
复制
[mysqld] 
general-log
log-output=TABLE 

2)重新启动mysql

3)启动mysql并使用它一两天

4)通过运行以下查询查找dev用户

代码语言:javascript
复制
SELECT * FROM mysql.general_log WHERE user_host LIKE 'dev %';

这将告诉您IP dev将在什么时间和什么时候到来。

5)在所有代码中查找dev用户

6)截断一般日志

代码语言:javascript
复制
SET @old_log_state = @@global.general_log; 
SET GLOBAL general_log = 'OFF'; 
TRUNCATE TABLE mysql.general_log; 
SET GLOBAL general_log = @old_log_state; 

7)如果您确实发现“dev”用户偷偷进来,请等待24小时,然后返回到第4步。

警告

当您删除步骤1中的行时,请禁用常规日志。

代码语言:javascript
复制
SET GLOBAL general_log = 'OFF'; 

就这样!

请参阅我关于普通日志表版本的帖子:

我还使用了慢速日志来代替:如何做MySQL用户计费

试试看!

票数 1
EN

Database Administration用户

发布于 2014-01-18 23:26:41

或者,您可以安装和部署Maria DB审计日志,以启用对所需对象的跟踪和访问。

http://www.skysql.com/downloads/mariadb-audit-plugin

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/57017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档