如何使用MySQL Binlog Digger 4.16对mysql 8.0进行数据库审计
Step 1.建立访问表, 用于存储登录信息
-- 建库
mysql> CREATE DATABASE `auditdb`;
-- 建表
mysql> CREATE TABLE `accesslog` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`ServerID` int(11) DEFAULT NULL,
`ConnectionID` int(11) DEFAULT NULL,
`ConnUser` varchar(30) DEFAULT NULL,
`MatchUser` varchar(30) DEFAULT NULL,
`LoginTime` datetime DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
Step2. 为普通用户赋予写入权限(高级用户可以不赋予,因为高级用户已具备写入权限)
mysql> grant insert on `auditdb`.`accesslog` to 普通用户@具体主机;
mysql> flush privileges;
Step3. 在目标数据库的[mysqld]中增加以下:
init-connect='insert into auditdb.accesslog(ServerID, ConnectionID ,ConnUser ,MatchUser ,LoginTime) values(@@server_id, connection_id(),user(),current_user(),now());'
*** 配置init-connect完成后,需要重启mysql(生产环境请慎重) ***
Step 4. 下载并安装MySQL Binlog Digger 4.16
https://download.****.net/download/bournetai/12969094
Step 5.使用MySQL Binlog Digger 4.16进行dml操作审计(如果进行ddl审计, 则操作类型选择ddl)
此外,MySQL Binlog Digger 4.16还具备mysqlbinlog挖掘分析,提供回滚信息功能
### 声明 ###
十分感谢您使用本工具, 本工具为免费产品, 对于因本工具而造成的损失, 本工作室概不承担! 因本人水平有限, 如发现不足, 请多多请正.
广州逆舟数据工作室 Bourne QQ:649869986 微信:wxid_glzhz1qg2xre22
2020-10-19 广州