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 解决方法
1.安装 您的MySQL安装可能来自不同的来源.它可能是随分发或Sun / Oracle rpm一起提供的rpm,也可能是从源代码构建的. rpm -q --whatprovides $(which mysql) 应该告诉你包的名称 > MySQL-client -… 在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搜索来验证包是否由您订阅的存储库提供. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |