MySQL开启日志审计功能

发布时间: 2023-11-21 11:28 阅读: 文章来源:1MUMB1609PS

年底项目验收很多,也就碰到了各种问题,以前只在埋头撸代码,根本不知道原因。今天第一次听到一个词“审计”,真的第一次听到,在我心中,感觉程序员也要涉及审计了?

兜兜转转,百度Google看到了一些讲审计的东西,明白了审计就是开启数据库操作日志并记录方便运维人员查询。百度了一圈,其实也碰到了一些问题,以及一个人在哪里怼的时候,出现了一些问题搞得很郁闷,跟同事一起弄最近完美解决。

具体步骤如下:

1、先去下载插件,这个地址要根据你的mysql版本去选择,后面有版本号,这个地址可能打开很慢。

https://bintray.com/mcafee/mysql-audit-plugin/release/1.1.7-805#files

我的数据库版本是5.6的我下载的是audit-plugin-mysql-5.6-1.1.7-866-linux-x86_64.zip。

2、下载后解压,lib目录下有个libaudit_plugin.so文件,把这个文件拷到服务器。

3、在数据库命令模式下执行SHOW GLOBAL VARIABLES LIKE ‘plugin_dir‘查看插件存放的目录,把第二步拿到的文件放到这个目录下。

4、在数据库命令模式下执行

install plugin audit soname ‘libaudit_plugin.so‘;

PS:我当因为版本不对报了一个错误,1126 - Can‘t open shared library ‘/opt/mysql5.6.25/lib/plugin/libaudit_plugin.so‘ (errno: 2 /opt/mysql5.6.25/lib/plugin/libaudit_plugin.so: undefined symbol: _ZN11Query_cache21send_result_to_clientEP3THDRK25st_mysql_cons)"

下载正确的对应版本就ok了。

5、开启功能

set global audit_json_file=1;

6、安装成功以后可以执行show variables like ‘%audit%‘查看。

7、开启成功以后,在数据库数据目录会有个mysql-audit.json文件。

8、可以在mysql中执行个select操作,再到mysql-audit.json文件中取查看,肯定有个select的记录(没有就。。。)。

•••展开全文