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