mysql-审计功能

一、获取插件

1.下载mariadb的压缩包

重点:如果是mysql5.7不要使用mariadb10.6版本的插件
下载链接:https://downloads.mariadb.org/mariadb/

2.找到对应的审计插件

find ./* | grep server_audit.so

二、mysql安装插件

1.将插件迁移到mysql插件目录下

# 这个插件目录要根据自己的为准
cp server_audit.so /usr/local/mysql/lib/plugin

2.更改文件属主、组

chown -R mysql:mysql server_audit.so

三、加在插件

1.在线安装

1.1安装插件

INSTALL PLUGIN server_audit SONAME 'server_audit.so';

这是安装遇到了问题

ERROR 1126 (HY000): Can't open shared library '/usr/local/mysql/lib/plugin/server_audit.so' (errno: 2 /usr/local/mysql/lib/plugin/server_audit.so: undefined symbol: psi_prlock_wrlock)

想了很多中办法,最后想到可能是因为版本不兼容的问题10.6版本的插件比较新,可能与mysql 5.7不适配,于是换了10.5版本的mariadb就解决问题了

1.2 启动审计

 set global server_audit_logging=on;

2.离线安装

2.1 修改配置文件

vim /etc/my.cnf

plugin_load_add = server_audit.so
#开启审计功能
server_audit_logging = ON
#防止插件被卸载
server_audit = FORCE_PLUS_PERMANENT
#是否强制切割审计日志
server_audit_file_rotate_now = ON
#定义切割审计日志的文件大小1073741824=1GB(单位K)
server_audit_file_rotate_size = 1073741824
#定义审计日志文件名
server_audit_file_path = server_audit.log
server_audit_events = connect,query,table,query_ddl,query_dml,query_dcl

2.2重启mysql

service mysql restart

注意,审计需要占用一定的资源,如果资源不足可能会有问题

aws rds的开启方案:https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html

你可能感兴趣的:(mysql,数据库)