一、获取插件
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 rpl_semi_sync_master soname 'semisync_master.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
注意,审计需要占用一定的资源,如果资源不足可能会有问题