如何使用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

如何使用MySQL Binlog Digger 4.16对mysql 8.0进行数据库审计

 

Step 5.使用MySQL Binlog Digger 4.16进行dml操作审计(如果进行ddl审计, 则操作类型选择ddl)

如何使用MySQL Binlog Digger 4.16对mysql 8.0进行数据库审计

如何使用MySQL Binlog Digger 4.16对mysql 8.0进行数据库审计

如何使用MySQL Binlog Digger 4.16对mysql 8.0进行数据库审计

如何使用MySQL Binlog Digger 4.16对mysql 8.0进行数据库审计

此外,MySQL Binlog Digger 4.16还具备mysqlbinlog挖掘分析,提供回滚信息功能

 

### 声明 ### 

十分感谢您使用本工具, 本工具为免费产品, 对于因本工具而造成的损失, 本工作室概不承担! 因本人水平有限, 如发现不足, 请多多请正.

 

广州逆舟数据工作室 Bourne QQ:649869986 微信:wxid_glzhz1qg2xre22

2020-10-19 广州