修改审计插件源码编译mariadb获取审计插件

环境:
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;

 

posted @   slnngk  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示