当前位置:   article > 正文

Linux中 MySql设置审计及报错解决 can‘t initialize function ‘audit‘; Plugin initialization function failed_error 1123 (hy000): can't initialize function 'aud

error 1123 (hy000): can't initialize function 'audit'; plugin initialization

环境:

服务器:CentOS Linux release 7.4.1708 64位

MySql: 社区版5.7.35 

由于使用的是社区版MySql,没有内置审计,使用的McAfee的插件

1.下载插件
https://github.com/mcafee/mysql-audit/releases/

 选择了列表中与我的数据库匹配的版本audit-plugin-mysql-5.7-1.1.9-974-linux-x86_64.zip

 2.查找数据库插件所在文件夹

登录数据库执行以下命令

show global variables like 'plugin_dir';

如图:

 3.文件上传服务器

 解压下载好的插件压缩包,将audit-plugin-mysql-5.7-1.1.9-974-linux-x86_64/lib下 的文件libaudit_plugin.so上传到服务器刚才搜索出的目录下 ,我这里是/usr/local/mysql/lib/plugin

4.为文件赋可执行权限

执行命令

chmod a+x libaudit_plugin.so

5.安装插件

install plugin audit soname 'libaudit_plugin.so';

这里报了个错,如果正常请跳过这一步,直接进入第6步

解决报错:

(1)找到服务器mysqld地址

在服务器执行以下命令

whereis mysqld

(2)上传offset文件

将压缩包audit-plugin-mysql-5.7-1.1.9-974-linux-x86_64/utils下的offset-extract.sh上传到服务器,位置自定

(3)执行获取offsets

./offset-extract.sh /usr/local/mysql/bin/mysqld

(4) 在MySQL配置文件/etc/my.cnf中添加语句

在[mysqld]后添加以下语句(防止重启数据库后配置丢失):

  1. plugin-load=AUDIT=libaudit_plugin.so
  2.  audit_offsets=7832, 7880, 3640, 4800, 456, 360, 0, 32, 64, 160, 544, 7996, 4368, 3648, 3656, 3660, 6080, 2072, 8, 7064, 7104, 7088, 13480, 148, 672, 0
  3. audit_json_file = on
  4. audit_record_cmds = 'insert,delete,update,create,drop,alter,grant,truncate' 

 (5)重启

systemctl restart mysqld.service

6.查询插件列表

show plugins;

包含审计插件,成了!(如果这一步没有找到再执行一次安装插件的命令试试)

7.其他查询语句

查询audit版本

show global status like 'AUDIT_version'

查询日志存放位置

find / -name mysql-audit.json

 查看日志

tail -f /var/lib/mysql/mysql-audit.json

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/687699
推荐阅读
相关标签
  

闽ICP备14008679号