0

我想从sam J levy 的网站安装以下 UDF

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

usr/lib64/mysql/plugin/damlev.so

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

创建函数 damlev 返回整数 SONAME 'damlev.so';

并得到以下错误

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

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

编辑赏金开始:

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

4

1 回答 1

1

您似乎正在尝试使用Levi's 站点的damlev.zip文件中damlev.so包含的库,但该库适用于 Ubuntu 32 位系统,因此它无法在您的 Centos 64 位系统上运行,所以您必须从源代码编译。 作为先决条件,您必须安装编译器和 mysql 开发库:
g++

yum install gcc-c++ mysql-devel

此外,如果您没有wgetand 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”身份运行。

于 2013-08-22T20:34:38.627 回答