linux – 在64位CentOS上安装32位MySQL客户端库

前端之家收集整理的这篇文章主要介绍了linux – 在64位CentOS上安装32位MySQL客户端库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在64位CentOS 5.3(基于RedHat 4.1.2)主机上运行编译的32位二进制文​​件.二进制抱怨无法找到lib mysqlclient.so.15.这样的文件存在于服务器上,但它是64位,因此不好.

我可以在主机上安装32位MySQL客户端库吗?优选地以官方方式(即,通过存储库).如果没有,那么一种hackish方式呢?

此外,这是一个适合这样一个问题的地方吗?

编辑:这是an article,确认您不能在一个过程中混合和匹配位数.但其配方不适用于CentOS.

维基百科指出,CentOS派生的RHEL能够在64位上运行完整的32位用户区……系统上已经有一些32位库 – libc等.不是MysqL.

我可以运行其他没有链接到libMysqLclient的32位二进制文​​件.

Somewhat related.

编辑:yum搜索MysqL说如下:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.symnds.com
 * extras: mirror.symnds.com
 * updates: mirror.wiredtree.com
addons                                                   | 1.9 kB     00:00
base                                                     | 1.1 kB     00:00
extras                                                   | 1.9 kB     00:00
updates                                                  | 1.9 kB     00:00
Excluding Packages in global exclude list
Finished
================================ Matched: MysqL ================================
mod_auth_MysqL.x86_64 : Basic authentication for the Apache web server using a
                      : MysqL database.
qt-MysqL.x86_64 : MysqL drivers for Qt's sql classes.
MysqL-bench.x86_64 : MysqL - Benchmarks and test system
MysqL-client.x86_64 : MysqL - Client
MysqL-devel.x86_64 : MysqL - Development header files and libraries
MysqL-python.x86_64 : An interface to MysqL
MysqL-server.x86_64 : MysqL: a very fast and reliable sql database server
MysqL-shared.x86_64 : MysqL - Shared libraries
apr-util-MysqL.x86_64 : APR utility library MysqL DBD driver
bytefx-data-MysqL.x86_64 : MysqL database connectivity for Mono
freeradius-MysqL.x86_64 : MysqL bindings for freeradius
freeradius2-MysqL.x86_64 : MysqL support for freeradius
libdbi-dbd-MysqL.x86_64 : MysqL plugin for libdbi
pdns-backend-MysqL.x86_64 : MysqL backend for pdns
pure-ftpd.x86_64 : Lightweight,fast and secure FTP server
qt4-MysqL.x86_64 : MysqL drivers for Qt's sql classes
rsyslog.x86_64 : Enhanced system logging and kernel message trapping daemon
rsyslog-MysqL.x86_64 : MysqL support for rsyslog
unixODBC.i386 : A complete ODBC driver manager for Linux
unixODBC.x86_64 : A complete ODBC driver manager for Linux
unixODBC64.x86_64 : A complete ODBC driver manager for Linux

解决方法

How do I install 32-bit libMysqLclient.so?

1.安装

您的MysqL安装可能来自不同的来源.它可能是随分发或Sun / Oracle rpm一起提供的rpm,也可能是从源代码构建的.

rpm -q --whatprovides $(which MysqL)

应该告诉你包的名称

> MysqL-client -…
> MysqL-5.0 ……
> MysqL-community-server-client
> MysqL-5.1 ……
>没有包提供/usr/bin/MysqL.

在CentOS上,前两个选项最有可能. MysqL-client-5.0是一个Sun / Oracle RPM,而MysqL-5.0可能来自该发行版.使用rpm -q –info< package_name>获取扩展信息并验证Vendor:行确认了该假设.

这是典型的供应商行:

Name        : MysqL-shared-community       Relocations: (not relocatable)
Version     : 5.0.96                       Vendor: Oracle and/or its affiliates

1.1来自Sun / Oracle RPM的MysqL

如果您的MysqL安装来自Sun / Oracle,请转到MysqL社区服务器download page,在General Available(GA)版本中选择具有MysqL 5.0版本和32位架构的版本,选择MysqL-shared-community包,下载并安装它用rpm -i.该包提供了/usr/lib/libMysqLclient.so.15库.

1.2来自CentOS的MysqL

在CentOS5中,libMysqLclient属于MysqL包.

yum install MysqL.i386

应该做的伎俩.

在CentOS6中,它被移动到一个单独的MysqL-libs包中.

2.测试

安装库后,检查是否正确解析了动态库依赖项:

ldd <your_binary> | grep libMysqLclient

应该返回类似的东西

libMysqLclient.so.15 => /usr/lib/MysqL/libMysqLclient.so.15

如果您想知道提供32位版本的特定64位库的内容,可以使用rpm -q –whatprovides / path / to / your / lib64 / library来确定包的名称.然后用名称中的i686替换x86_64以获取32位对应的名称.使用yum搜索来验证包是否由您订阅的存储库提供.

猜你在找的Linux相关文章