首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在64位MySQL上安装32位CentOS客户端库

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

Server Fault用户
提问于 2012-05-11 16:58:41
回答 2查看 9.5K关注 0票数 4

我试图在64位CentOS 5.3 (基于RedHat 4.1.2)主机上运行编译的32位二进制文件。二进制程序抱怨无法找到libmysqlclient.so.15。这样的文件存在于服务器上,但是它是64位的,因此不好。

我可以在主机上安装32位MySQL客户端库吗?最好是以官方的方式(即通过存储库)。如果不是的话,那么用一种冷酷的方式呢?

此外,这是否适合提出这样一个问题的地点?

编辑:这里的文章确认您不能在一个进程中混合和匹配bitness。但它的配方不适用于CentOS。

维基百科指出,CentOS从RHEL派生而来的RHEL,能够使整个32位用户地沿着64位运行.系统上已经有了一些32位的库- libc之类的.只是不是MySQL。

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

有点关联。

编辑:yum search mysql说:

代码语言:javascript
运行
复制
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
EN

回答 2

Server Fault用户

发布于 2012-09-28 16:02:36

如何安装32位libmysqlclient.so?

1.安装

您的MySQL安装可能来自不同的来源。它可以是发行版附带的rpm,也可以是Sun/Oracle的rpm,也可以是从源代码构建的。

代码语言:javascript
运行
复制
 rpm -q --whatprovides $(which mysql)

应该告诉你这个包裹的名字

  1. MySQL-client-...
  2. mysql-5.0...
  3. mysql-community-server-client
  4. mysql-5.1...
  5. no package provides /usr/bin/mysql

在CentOS上,最有可能出现前两个选项。MySQL-client-5.0是Sun/Oracle,mysql-5.0可能来自于发行版。使用rpm -q --info <package_name>获取扩展信息,并验证Vendor:行是否确认了假设。

下面是一条典型的供应商线:

代码语言:javascript
运行
复制
Name        : MySQL-shared-community       Relocations: (not relocatable)
Version     : 5.0.96                       Vendor: Oracle and/or its affiliates

1.1来自Sun/Oracle

的MySQL

如果您的mysql安装来自Sun/Oracle,请转到MySQL社区服务器下载页面,在通用(GA)发布版本中选择具有MySQL5.0版本和32位体系结构的版本,选择mysql共享社区包,下载并用rpm -i安装。这个包提供了确切的/usr/lib/libmysqlclient.so.15库。

1.2Mysql来自CentOS

在CentOS5中,libmysqlclient属于mysql包。

代码语言:javascript
运行
复制
yum install mysql.i386

应该能起作用。

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

2.测试

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

代码语言:javascript
运行
复制
ldd <your_binary> | grep libmysqlclient

应该返回类似的东西

代码语言:javascript
运行
复制
libmysqlclient.so.15 => /usr/lib/mysql/libmysqlclient.so.15

如果您想知道是什么提供了特定64位库的32位版本,可以使用rpm -q --whatprovides /path/to/your/lib64/library来确定包的名称。然后将x86_64替换为名称中的i686,以获得32位对应方的名称。使用yum search验证包是否由您订阅的存储库提供。

票数 1
EN

Server Fault用户

发布于 2012-05-11 18:48:39

我可以在主机上安装32位MySQL客户端库吗?

是。Redhat在/usr/lib中安装32位库,64位库安装到/usr/lib 64。操作系统将在软件运行时自动加载相应的库。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/388305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档