首页 > 数据库 >mysql5.7安装插件udp(lib_mysqludf_sys)

mysql5.7安装插件udp(lib_mysqludf_sys)

时间:2023-11-14 17:45:18浏览次数:36  
标签:FUNCTION 插件 lib -- mysqludf udp sys so

项目应用中需要用mysql执行一下命令行.几经搜索可以安装lib_mysqludf_sys插件可以实现

本地window环境安装(mysql8.0 , 64位 , 使用lib_mysqludf_sys.dll文件)

-- 查看环境中插件目录
show variables like '%plugin%';
-- plugin_dir	C:/mysql/lib/plugin/

-- 将lib_mysqludf_sys.dll文件放在插件目录中
-- 这里要注意32位和64位是有区别的,并不能通用

-- 删除已存在的函数
DROP FUNCTION IF EXISTS lib_mysqludf_sys_info;
DROP FUNCTION IF EXISTS sys_get;
DROP FUNCTION IF EXISTS sys_set;
DROP FUNCTION IF EXISTS sys_exec;
DROP FUNCTION IF EXISTS sys_eval;

-- 创建函数
CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_get RETURNS string SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_set RETURNS int SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sys.so';

-- 执行测试
SELECT sys_exec('whoami');

测试centos7环境(mysql5.7.40 , 64位 , lib_mysqludf_sys.so)

-- 查看环境中插件目录
show variables like '%plugin%';
-- plugin_dir	/usr/lib64/mysql/plugin/

-- 将lib_mysqludf_sys.so文件放在插件目录中
-- 这里要注意32位和64位是有区别的,并不能通用

-- 问题1.lib_mysqludf_sys.c:40:23: 致命错误:<my_global.h>:没有那个文件或目录
-- 造成原因是少了mysql的开发组件,需要单独安装 , rpm安装对应版本的组件库
-- rpm -ivh mysql-community-devel-5.7.40-1.el7.x86_64.rpm 
-- 问题2.没有正确的lib_mysqludf_sys.so文件需要单独编译
-- make & makeinstall 才行
-- 问题3.make & makeinstall的时候报错没有c的环境 , yum安装一下
-- yum install gcc gcc-c++
-- 问题4.在make & makeinstall之前,需要修改一下Makefile因为里面的路径不对需要改一下 , 如果还报其他错应该还是少其他包 , 百度自行安装一下
-- LIBDIR=/usr/lib
--
-- install:
--         gcc -fPIC -Wall -m64 -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o /usr/lib64/mysql/plugin/lib_mysqludf_sys.so
-- 里面的路径根据自己的环境修改


-- 删除已存在的函数
DROP FUNCTION IF EXISTS lib_mysqludf_sys_info;
DROP FUNCTION IF EXISTS sys_get;
DROP FUNCTION IF EXISTS sys_set;
DROP FUNCTION IF EXISTS sys_exec;
DROP FUNCTION IF EXISTS sys_eval;

-- 创建函数
CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_get RETURNS string SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_set RETURNS int SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sys.so';

-- 执行测试
SELECT sys_exec('whoami');

 

 

其中使用到的各种文件:

 

1.lib_mysqludf_sys.dll

https://github.com/sqlmapproject/sqlmap/issues/2965 这个里面往下翻有个lib_mysqludf_sys_64.zip的地址

2.lib_mysqludf_sys.so

11年前有人制作的插件,根据上面的描述重新编译即可

3.mysql-community-devel-5.7.40-1.el7.x86_64.rpm

mysql的官网可以下,贴个地址

标签:FUNCTION,插件,lib,--,mysqludf,udp,sys,so
From: https://www.cnblogs.com/reverseapplepie/p/17832155.html

相关文章

  • 使用 nginx 和 rtmp 插件搭建视频直播和点播服务器
    使用nginx和rtmp模块,可以很容易地搭建一个视频直播和点播服务器出来。下面我们来看一下具体实施步骤:1.安装nginx和rtmp模块有关nginx的编译和安装比较简单,这里就不介绍了,看参考文献。这里提示以下几点:(1)安装好nginx后,配置文件在这里:/usr/local/nginx/conf/nginx.co......
  • vue3 AntV-X6 引入插件报错
    vue3AntV-X6引入插件报错:UncaughtTypeError:Cannotreadpropertiesofundefined(reading'ToolItem')vite引入路径的问题解决就是在引入插件的路径后面加上/lib:import{Keyboard}from'@antv/x6-plugin-keyboard/lib'直接写 import{Keyboard}from'@antv/......
  • maven 添加 checkstyle 插件约束代码规范
    本例示例,是引用http链接这种在线checkstyle.xml文件的配置方式,如下示例:<properties><maven.checkstyle.plugin.version>3.3.0</maven.checkstyle.plugin.version><!--支持本地绝对路径、本地相对路径、HTTP远程路径--><checkstyle.config.location>......
  • PostCSS通过px2rem插件和lib-flexible将px单位转换为rem(root em)单位实现大屏适配
    目录文档postcss中使用postcss-plugin-px2rem安装postcss-plugin-px2rem示例默认配置webpack中使用postcss-plugin-px2rem项目结构安装依赖文件内容大屏适配参考文章文档类似的插件postcss-plugin-px2remhttps://www.npmjs.com/package/postcss-plugin-px2remhttps://github.com/......
  • 1825_ChibiOS的OSLIB中的存储分配器
    GreyZhang/g_ChibiOS:IfoundanewRTOScalledChibiOSanditseemsinteresting!(github.com)1.之前有点不是很理解什么是静态OS,从这里基本上得到了这个答案。所谓的静态,其实就是内核之中不会使用Free以及Malloc这样的存储分配功能。2.虽然内核之中没有用到这样的存储动态......
  • 推荐一个前端读取CSV文件的插件Papa Parse
    PapaParse点击跳转到官网,该插件可以将文件解析成2层数组。下面是vue项目引用的方法1.安装npminstallvue-papa-parse2.引入,在main.js里importVuefrom'vue'importVuePapaParsefrom'vue-papa-parse'Vue.use(VuePapaParse)3.使用,例如delimiter这类配置,可以参考......
  • fatal error: zlib.h: No such file or directory
     001、编译报错:fatalerror:zlib.h:Nosuchfileordirectory 002、查找改文件(base)[root@pc1test]#find/-name"zlib.h"##查找改文件,存在/root/anaconda3/pkgs/zlib-1.2.13-h5eee18b_0/info/licenses/zlib.h/root/anaconda3/pkgs/zlib-1.2.13-h5ee......
  • 记录工作项目中使用的插件(持续更新中)
    1.HighLightingSystem用于3D物体高亮显示在项目中的使用方法:导入插件后在需要高亮显示的3d物体上附加Highlighter组件,在需要显示高亮效果的摄像机上附加HighlightingRenderer组件。在代码中调整Highlighter属性即可控制物体高亮效果的开关、闪烁。使用场景:提示玩家点击,或鼠标......
  • zlib 下载以及使用
    zlib是一个压缩库,兼容gzip格式,免费开源网址:http://www.winimage.com/zLibDll/下载:目前下载Windows64位版本动态库http://www.winimage.com/zLibDll/zlib123dllx64.zip使用:当前编译Libcurl7.61.0+OpenSSL1.1.1需要依赖zlib静态库注意:不需要添加zlib头文件......
  • Apipost IDEA插件如何使用
    Apipost-Helper是由Apipost推出的IDEA插件,写完接口可以进行快速调试,且支持搜索接口、根据method跳转接口,还支持生成标准的API文档,注意:这些操作都可以在代码编辑器内独立完成,非常好用!这里给大家介绍一下Apipost-Helper的安装和使用安装在IDEA编辑器插件中心输入Apipost搜索安装:Api......