环境:
OS:Centos 7
mariadb:10.4.29
背景:
mysql 5.7.35版本之后就不能使用mariadb自带的审计插件(windows版本的除外),需要修改源码文件重新编译获取审计插件
1.安装编译所需依赖
#yum install -y openssl libssl-dev build-essential bison libncurses-dev cmake gcc-gcc+ git ncurses-devel
2.解压源码包(源码包自行到mariadb官网下载)
[root@10-186-60-13 10.4.29]# tar -zxvf mariadb-10.4.29.tar.gz
[root@10-186-60-13 10.4.29]# cd mariadb-10.4.29/plugin/server_audit/
[root@10-186-60-13 server_audit]# vi server_audit.c
# 打开 server_audit.c 文件
db_off= 536; // 将 536 修改为 544, 其他不变
db_len_off= 544; // 将 544 修改为 552, 其他不变
代码段如下:
#ifdef __x86_64__
db_off= 536;
db_len_off= 544;
3.编译安装
[root@host134 mariadb-10.4.29]# pwd
/soft/mariadb-10.4.29
[root@host134 mariadb-10.4.29]# mkdir -p /mydata/data
[root@host134 mariadb-10.4.29]# mkdir -p /opt/mariadb
# 返回源文件根目录进行编译安装
cd /soft/mariadb-10.4.29
cmake . -DCMAKE_INSTALL_PREFIX=/opt/mariadb \
-DMYSQL_DATADIR=/mydata/data \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
# 执行 make 进行编译安装
[root@10-186-60-13 server_audit]# make
[root@10-186-60-13 server_audit]# make install
4.拷贝编译出来的审计插件文件到自建的mysql插件目录
[root@host134 mariadb-10.4.29]# find ./ -name server_audit.so
./plugin/server_audit/server_audit.so
[root@host134 mariadb-10.4.29]# cp ./plugin/server_audit/server_audit.so /data/middle/mysql57/lib/plugin/
[root@host134 mariadb-10.4.29]#cd /home/middle/mysql57/lib/plugin/
[root@host134 mariadb-10.4.29]#chown mysql:mysql ./server_audit.so
5.安装插件
[mysql@localhost bin]$ /home/middle/mysql57/bin/mysql -h localhost -uroot -P13306 -p
INSTALL PLUGIN server_audit SONAME 'server_audit.so';
6.查看插件
mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'server_audit%';
mysql> show plugins;
标签:审计,audit,插件,10.4,29,server,源码,mariadb,root From: https://www.cnblogs.com/hxlasky/p/17627741.html