在centos 6云服务器上安装Levenstein Functions

时间:2013-08-15 08:13:29

标签: mysql centos user-defined-functions

我想从sam J levy's site

安装以下UDF

我已经通过Windows(32位)安装wamp为我的测试服务器没有问题。现在我有适当的服务器运行centOs 6.4。我已将.so文件复制到

  

USR / lib64下/ MySQL的/插件/ damlev.so

然后我尝试运行其中一个sql语句来创建函数

  

创造功能damlev RETURNS INTEGER SONAME'damlev.so';

并收到以下错误

  

1126 - 无法打开共享库'damlev.so'(错误:22 /usr/lib64/mysql/plugin/damlev.so:错误的ELF类:ELFCLASS32)

我做错了什么。是因为服务器是64位吗?

编辑Bounty开始:

如果需要有关服务器的更多详细信息,我很乐意提供它们。我需要安装这个功能。

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试使用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”运行。