我可以在主机上安装32位MySQL客户端库吗?优选地以官方方式(即,通过存储库).如果没有,那么一种hackish方式呢?
此外,这是一个适合这样一个问题的地方吗?
编辑:这是an article,确认您不能在一个过程中混合和匹配位数.但其配方不适用于CentOS.
维基百科指出,CentOS派生的RHEL能够在64位上运行完整的32位用户区……系统上已经有一些32位库 – libc等.不是MysqL.
我可以运行其他没有链接到libMysqLclient的32位二进制文件.
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搜索来验证包是否由您订阅的存储库提供.