首页 > 编程语言 >修改审计插件源码编译mariadb获取审计插件

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

时间:2023-08-14 09:13:28浏览次数:45  
标签:审计 audit 插件 10.4 29 server 源码 mariadb root

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

相关文章

  • Nacos源码 (3) 注册中心
    本文将从一个服务注册示例入手,通过阅读客户端、服务端源码,分析服务注册、服务发现原理。使用的2.0.2的版本。客户端创建NacosNamingService对象NacosNamingServicenacosNamingService=newNacosNamingService(NACOS_HOST);NacosNamingService提供两个构造方法:publicNac......
  • PostgreSQL 15 源码安装一安装包依赖
    PostgreSQL15源码安装简单安装流程:./configuremakesumakeinstalladduserpostgresmkdir-p/usr/local/pgsql/datachownpostgres/usr/local/pgsql/datasu-postgres/usr/local/pgsql/bin/initdb-D/usr/local/pgsql/data/usr/local/pgsql/bin/pg_ctl-D/usr/local/pgsql......
  • 打造 VSCode 高效 C++ 开发环境的必备插件
    工欲善其事,必先利其器C++clangd:代码补全、跳转、clang-tidy检查,自带clang-formatCodeLLDB:LLVM的调试器(类比GDB)CMakeCMakeTools文档DoxygenDocumentationGenerator:自动生成doxygen注释PlantUML:Alt+D直接预览plantumlMarkdownPanguMarkdown:自动在中英文......
  • 从Element日期组件源码中学到的两个工具方法
    最近翻到ElementUI的日期组件源码,看到一些处理日期的工具方法,挺有意思,平常没有注意到,特此记录下来。获取当前日期的前一天,后一天exportconstprevDate=function(date,amount=1){returnnewDate(date.getFullYear(),date.getMonth(),date.getDate()-amount);};......
  • Django Form钩子方法源码分析
    1.用法 在Form类中定义名称为 clean_+form字段名称的方法校验成功返回self.clean_data["字段名"]校验失败会raise报错 2.源码分析先从is_valid方法开始分析 当self._is_bound=True,self.errors为False时校验成功1. self._is_bound 当django项目......
  • Netty源码学习1——NioEventLoopGroup的初始化
    系列文章目录和关于我零丶引入netty源码学习中,大家maybe都接触到如下的helloworld——netty客户端启动的demo:映入眼帘的第一个类就是NioEventLoopGroup,很多文章上来就是是Netty中的核心类,啥Channel,Pipeline,Context,Boostrap一通劈里啪啦,我看起来比较费劲。so本文不会上来就给......
  • 【Java】智慧工地管理平台源码
    智慧工地是聚焦工程施工现场,紧紧围绕人、机、料、法、环等关键要素,综合运用物联网、云计算、大数据、移动计算和智能设备等软硬件信息技术,与施工生产过程相融合。一、什么是智慧工地智慧工地是指利用移动互联、物联网、智能算法、地理信息系统、大数据挖掘分析等信息技术,提高项目......
  • pinia持久化存储插件-pinia-plugin-persistedstate
    pinia-plugin-persistedstate丰富的功能可以使PiniaStore的持久化更易配置:与vuex-persistedstate相似的API所有Store均可单独配置自定义storage和数据序列化恢复持久化数据前后的hook每个Store具有丰富的配置兼容Vue2和3无任何外部依赖安装使用你喜......
  • mysql在安装group_replication插件时,报错"version libcrypto.so.10 not defined in fi
    问题描述:mysql在安装group_replication插件时,报错"versionlibcrypto.so.10notdefinedinfilelibcrypto.so",如下所示:数据库:mysql8.0.27系统:rhel7.364位1、异常重现mysql>installplugingroup_replicationsoname'group_replication.so';ERROR1126(HY000):......
  • Java| jdk的src源码目录讲解
    JavaJDK的源代码目录(src)包含了Java核心类库的源代码,它提供了Java编程语言的基本功能和类。src目录结构通常按照包的层次结构组织,每个包对应一个文件夹,而每个类则在相应的包文件夹中以.java文件的形式存在。目录结构-com--sun-java--applet--awt--beans--io--lang--mat......