导读:MysqL社区版是不带审计功能的,如果要使用MysqL审计,可以考虑使用中间件(例如proxysql)或者是MariaDB的审计插件。这里以MariaDB的审计插件为例,实现MysqL 5.7的审计功能。版本信息 *** 作系统版本 :CentOS 7.4MysqL数据库版本 :MysqL 5.7.27 社区版MariaDB审计插件版本 :1.4.0 Note:1.MariaDB审计插件一直在更新,不同版本的审计插件功能也不同,每个版本的功能见:https://mariadb.com/kb/en/mariadb-audit-plugin-options-and-system-variables/#server_audit_file_rotate_Now2.我们在给MysqL数据库安装审计插件时,需要从MariaDB里面拷贝审计插件。MariaDB版本与审计插件版本关系如下:https://mariadb.com/kb/en/mariadb-audit-plugin-versions/3.MysqL版本与审计插件版本没有特别的联系,建议下载最新。 (一)下载安装直接下载MariaDB的二进制安装包,下载链接如下:https://downloads.mariadb.com/MariaDB/mariadb-10.1.23/bintar-linux-x86_64/mariadb-10.1.23-linux-x86_64.tar.gz下载完成之后,解压安装包。然后到plugin路径下,该路径是MariaDB存储插件的地方:
mariadb-10.1.23-linux-x86_64/lib/plugin@H_502_53@在该路径下存在 server_audit.so 文件,将其拷贝到MysqL服务器上。
在MysqL数据库上查看其插件存放路径,如下:MysqL> show variables like 'plugin_dir';+---------------+------------------------------+| Variable_name | Value || plugin_dir | /usr/local/MysqL/lib/plugin/ -------------+------------------------------+@H_502_53@将MariaDB的审计插件server_audit.so存放到该路径下
[root@pro1 plugin]# ll...-rw-r--r--. 1 root root 176810 Jan 7 16:17 server_audit.so... # 修改插件权限[root@pro1 plugin]# chown MysqL:MysqL server_audit.so[root@pro1 plugin]# chmod 755 server_audit.so[root@pro1 plugin]# ll...-rwxr-xr-x. 1 MysqL MysqL server_audit.so...@H_502_53@进入数据库安装插件
MysqL> INSTALL PLUGIN server_audit SOname server_audit.so;query OK,0 rows affected (0.00 sec)@H_502_53@安装之后,可以看到数据库插件了
MysqL> show plugins ;--------------------------+----------+--------------------+-----------------+---------+| name | Status | Type | library | license --------------------------+----------+--------------------+-----------------+---------+...| SERVER_AUDIT | ACTIVE | AUDIT | server_audit.so | GPL --------------------------+----------+--------------------+-----------------+---------+@H_502_53@(二)审计配置审计配置即修改参数信息即可,需要注意的是最好将其放入MysqL的参数文件(my.cnf),如果仅在数据库层面做修改,数据库重启后参数将失效。
MysqL%audit% ;-----------------------------+-----------------------+| Variable_name | Value | server_audit_events | | server_audit_excl_users | server_audit_file_path | server_audit.log | server_audit_file_rotate_Now | OFF | server_audit_file_rotate_size 1000000 | server_audit_file_rotations 9 | server_audit_incl_users | server_audit_loc_info | server_audit_logging | server_audit_mode 1 | server_audit_output_type file | server_audit_query_log_limit 1024 | server_audit_syslog_facility | LOG_USER | server_audit_syslog_IDent | MysqL-server_auditing | server_audit_syslog_info | server_audit_syslog_priority | LOG_INFO -----------------------------+-----------------------+@H_502_53@这里罗列了重点参数的含义:
我的最终配置如下:
MysqL| CONNECT 100000000 ON -----------------------------+-----------------------+@H_502_53@(三)审计日志解析一行代表一条完成的审计日志,日志中的字段用逗号分隔。各种事件将产生不同的审计记录,这些记录的格式个各不相同。根据审计事件,主要分为3类:(3.1)连接审计主要审计连接数据库、断开连接、连接失败等 *** 作,其日志格式如下:
[timestamp],[serverhost],[username],[host],[connectionID],0,CONNECT,[database],1)">0[timestamp],disCONNECT,Failed_CONNECT,[retcode]@H_502_53@(3.2)查询审计
即审计select语句,其日志格式如下:[timestamp],[queryID],query,[object],[retcode]@H_502_53@],[timestamp],READ,[[database_new].[object_new],DROP,@H_502_53@(3.3)表相关审计
如果审计开启table事件,则会审计创建、删除、重命名表等 *** 作,日志格式如下:[timestamp],CREATE,1)">object【完】 总结
以上是内存溢出为你收集整理的MySQL审计audit全部内容,希望文章能够帮你解决MySQL审计audit所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)