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%'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | init_connect | | +---------------+-------+ 1 row in set (0.00 sec mysql> set global init_connect='insert into db_monitor.accesslog(thread_id,log_time,localname,matchname) values(connection_id(),now(),user(),current_user());';
3、授予普通用户对accesslog表的insert权限
该点很重要
该参数只对普通用户生效,有super权限的都不会有作用。
如果是普通用户,增加了该功能后,一定需要授权:
grant insert on db_monitor.accesslog to user@'xx.xx.xx.%';
不授权的后果是,连接数据库会失败:
accesslog表没有insert权限的用户:
mysql> show databases; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 7 Current database: *** NONE *** ERROR 1184 (08S01): Aborted connection 7 to db: 'unconnected' user: 'user2' host: 'localhost' (init_connect command failed)
4、验证审计功能
某个用户对test库删除了一张表,看我们配合binlog日志是否能追踪到时哪个用户:
查看binlog:
可以看出来是哪个用户进行了操作,从而完成审计。
以上这篇mysql利用init-connect增加访问审计功能的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# mysql
# init
# connect
# MySQL 使用开源审计插件示例详解
# window10系统下mysql5.7安装审计插件(亲测有用)
# Mysql8中的无插件方式审计
# 普通用户
# 给大家
# 自己的
# 都是
# 会有
# 都不
# 希望能
# 看我
# 很重要
# 可以看出
# 这篇
# 重启
# 只对
# 连接到
# 小编
# 是否能
# 不与
# 配置文件
# 大家多多
# 进行了
相关文章:
建站之星如何通过成品分离优化网站效率?
建站之星如何实现五合一智能建站与营销推广?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
建站之星后台管理如何实现高效配置?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
微信小程序 五星评分(包括半颗星评分)实例代码
制作网页的网站有哪些,电脑上怎么做网页?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
做企业网站制作流程,企业网站制作基本流程有哪些?
建站之星导航菜单设置与功能模块配置全攻略
建站之星如何实现PC+手机+微信网站五合一建站?
如何选购建站域名与空间?自助平台全解析
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何在腾讯云免费申请建站?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Android自定义控件实现温度旋转按钮效果
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
,南京靠谱的征婚网站?
公司网站的制作公司,企业网站制作基本流程有哪些?
全景视频制作网站有哪些,全景图怎么做成网页?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
如何快速建站并高效导出源代码?
测试制作网站有哪些,测试性取向的权威测试或者网站?
建站之星安装后界面空白如何解决?
建站之星导航配置指南:自助建站与SEO优化全解析
网站app免费制作软件,能免费看各大网站视频的手机app?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
北京企业网站设计制作公司,北京铁路集团官方网站?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
网站设计制作企业有哪些,抖音官网主页怎么设置?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
如何快速搭建安全的FTP站点?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
攀枝花网站建设,攀枝花营业执照网上怎么年审?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
如何高效利用200m空间完成建站?
建站ABC备案流程中有哪些关键注意事项?
高防服务器租用首荐平台,企业级优惠套餐快速部署
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
如何基于PHP生成高效IDC网络公司建站源码?
小建面朝正北,A点实际方位是否存在偏差?
建站主机选虚拟主机还是云服务器更好?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
简单实现Android文件上传
如何选择适配移动端的WAP自助建站平台?
如何通过云梦建站系统实现SEO快速优化?
如何通过cPanel快速搭建网站?
存储型VPS适合搭建中小型网站吗?
如何用虚拟主机快速搭建网站?详细步骤解析
*请认真填写需求信息,我们会在24小时内与您取得联系。