安装MySQL报错:requires: libc.so.6(glibc_2.17)(64bit)
在安装 MySQL 的过程中,你可能会遇到这样的错误提示:requires: libc.so.6(glibc_2.17)(64bit)。这个错误提示通常是由于系统缺少或者版本不匹配了 glibc 库所导致的。这篇文章将会帮助你解决这个问题。
原因分析
在 Linux 系统中,glibc 是很重要的库,其全称是 GNU C 库。它包含了影响系统运行的基本运行库函数、头文件和其它一些必要的文件。在 MySQL 安装过程中,如果缺少 glibc 库,你会看到重要包安装失败的提示:requires: libc.so.6(glibc_2.17)(64bit)。
解决方法
要解决这个问题,你需要进行以下的操作:
检查系统版本
你可以通过 uname -r
命令查看当前系统的内核版本和架构:x86_64
代表 64 位,i386
代表 32 位。
$ uname -r
3.10.0-1127.el7.x86_64
检查当前 glibc 版本
使用以下命令查看当前系统安装的 glibc 版本:
$ ldd --version | head -n 1
ldd (GNU libc) 2.17
修改系统配置
如果当前系统的 glibc 版本低于 2.17,你需要更新 glibc 到 2.17 版本或以上。但是,如果当前的系统是 CentOS 6 或者 Debian 7,那么 glibc 只能更新到 2.14,这时需要进行额外的配置。
CentOS 6
在 CentOS 6 中,你需要添加 EPEL 库并安装下面的软件包:
$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
$ sudo yum install yum-utils
$ sudo yum-config-manager --enable epel
$ sudo rpm -Uhv https://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ sudo yum remove glibc
$ sudo yum --enablerepo=elrepo-testing install glibc
安装后,你需要在 /etc/yum.repos.d/elrepo.repo
中添加以下配置:
[elrepo-testing]
name=ELRepo.org Community Enterprise Linux Testing Repository - $basearch
baseurl=http://elrepo.org/linux/testing/$basearch/
enabled=1
gpgcheck=0
最后,执行一遍 ldd --version | head -n 1
验证 glibc 版本是否更新到 2.17。
Debian 7
在 Debian 7 中,你需要添加 Debian Backports 库并安装下面的软件包:
$ sudo apt-get install -t wheezy-backports glibc-source glibc-doc glibc-utils glibc-locale
$ tar zxvf /usr/src/glibc/glibc-2*
$ mkdir glibc-build
$ cd glibc-build
$ sudo /usr/src/glibc/glibc-2*/configure --prefix=/usr --libdir=/lib/x86_64-linux-gnu
$ sudo make -j4
$ sudo make install
这些步骤会安装 glibc-2.20 版本,不过因为一些原因,Debian 7 的内核不支持 glibc-2.20 版本的库。因此,你需要使用 LD_PRELOAD 环境变量来使得 MySQL 认可 glibc-2.20。你可以添加以下内容到 /etc/environment
:
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libc-2.20.so
重新启动终端并执行 ldd --version | head -n 1
验证 glibc 版本是否更新到 2.17。
结论
文件缺少 glibc 库会导致 MySQL 安装失败,需要通过检查和更新 glibc 库来解决这个问题。如果涉及到软件库的更改,一定要根据你的具体发行版和需要调整安装脚本。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:安装mysql报requires:libc.so.6(glibc_2.17)(64bit) - Python技术站