我想从sam J levy's site安装以下UDF
我已经通过Windows(32位)安装了wamp,这对我的测试服务器没有任何问题。现在,我的服务器运行centOs 6.4。我已将.so文件复制到
的usr / lib64 / mysql / plugin / damlev.so
然后,我尝试运行sql语句之一来创建函数
CREATE FUNCTION damlev返回整数SONAME'damlev.so';
并得到以下错误
1126-无法打开共享库'damlev.so'(errno:22 /usr/lib64/mysql/plugin/damlev.so:错误的ELF类:ELFCLASS32)
我究竟做错了什么。是因为服务器是64位吗?
编辑赏金开始:
如果需要有关服务器的更多详细信息,我可以很乐意提供。我需要安装此功能。
最佳答案
似乎您正在尝试使用damlev.zip的Levi's site文件中包含的damlev.so
库,但是该库适用于Ubuntu 32位系统,因此无法在您的Centos 64位系统上运行,因此您必须从源代码进行编译。
作为前提,必须安装g++
编译器和mysql开发库:
yum install gcc-c++ mysql-devel
另外,如果没有
wget
和unzip
,请使用以下命令进行安装:yum install wget unzip
然后下载源代码并将其解压缩到某处:
cd tmp
mkdir damlev
cd damlev
wget http://samjlevy.com/wp-content/uploads/2011/03/damlev.zip
unzip damlev.zip
cd src
最后编译,安装插件并重新启动mysql服务器:
g++ -fPIC -I /usr/include/mysql/ -o damlev.so -shared damlev.cpp
cp damlev.so /usr/lib64/mysql/plugin/
service mysql restart
请注意,以上所有命令必须以“ root”身份运行。