文章

安装mysql插件(省略安装mysql server)

2018-05-01 | 1 minute read |标签 linux mysql |分类 运维

安装mysql插件(省略安装mysql server)

1.为mysql 安装触发外部程序的UDF

地址 https://github.com/mysqludf/lib_mysqludf_sys

2.安装依赖

sudo apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

sudo apt-get install gcc

centos 需要安装

yum install mysql-devel

3.进入下载的mysqludf_sys解压目录,进行编译

gcc -DMYSQL_DYNAMIC_PLUGIN -fPIC -Wall -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o lib_mysqludf_sys.so

4.将编译好的lib_mysqludf_sys.so文件拷到mysql的plugin目录下

查看mysql 插件目录可以进入mysql后用sql查询

 SHOW VARIABLES LIKE 'plugin_dir';

5.为mysql增加相关函数

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'; 	

6.测试

select sys_eval(‘id’);

正常输出

img

如果出现5xxx之类的消息,可能是apparmor权限问题运行下

错误代码32256 可以关闭 SELinux

aa-complain /usr/sbin/mysqld

其他错误 比如512 是你的脚本没有权限或者运行错误 需要加chmod +x 运行权限,还有chown mysql:mysql xxxx

切换用户组