我想从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.zipLevi's site文件中包含的damlev.so库,但是该库适用于Ubuntu 32位系统,因此无法在您的Centos 64位系统上运行,因此您必须从源代码进行编译。
作为前提,必须安装g++编译器和mysql开发库:

yum install gcc-c++ mysql-devel


另外,如果没有wgetunzip,请使用以下命令进行安装:

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”身份运行。

10-07 15:37