SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
下面小编就为大家带来一篇mysql利用init-connect增加访问审计功能的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
mysql的连接首先都是要通过init-connect初始化,然后连接到实例。
我们利用这一点,通过在init-connect的时候记录下用户的thread_id,用户名和用户地址实现db的访问审计功能。
实现步骤
1、创建审计用的库表。
为了不与业务的库冲突,单独创建自己的库:
#建库表代码
create database db_monitor ;
use db_monitor ;
CREATE TABLE accesslog
( thread_id int(11) DEFAULT NULL, #进程id
log_time datetime default null, #登录时间
localname varchar(50) DEFAULT NULL, #登录名称,带详细ip
matchname varchar(50) DEFAULT NULL, #登录用户
key idx_log_time(log_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、配置init-connect参数
这个参数是可以动态调整的,也注意要加到配置文件my.cnf中,否则下次重启后就失效了;
mysql> show variables like 'init_connect%';
+---------------+-------+
关键词:分享mysql运用init-connect增加访问审计技巧的案例