CentOS7.9安装mysql8.0.36踩坑小记

2024年 5月 22日 61.5k 0

前言:

最近想在一台测试服务器上,安装下最新的MySQL 8.0 版本数据库,想着挺简单的一件事,之前也手搓过 8.0 安装,这不手到擒来,没想到马失前蹄,遇到了一个小坑,耗费了不少时间,简单写篇文档记录下吧。

1.排错记录

执行 ./mysqld --initialize 初始化命令后,提示报错,如下图所示
CentOS7.9安装mysql-8.0.36踩坑小记-1

看报错应该是一些so文件版本太低,想着一步步解决呗,首先检查下 libstdc++.so.6 库版本,果然少了 GLIBCXX_3.4.20 等几项。
CentOS7.9安装mysql-8.0.36踩坑小记-2

这里笔者偷了个懒,去公司其他服务器上拷贝来了个6.0.25版本的libstdc++.so替换了下,果然可用,再次执行下初始化,报错少了很多。
CentOS7.9安装mysql-8.0.36踩坑小记-3
那就继续按此办法来呗,继续替换其他几个so文件,弄着弄着发现不对劲,连基础命令 cd ls 执行都报错找不到 libc.so.6 库文件了,网上查了下原来是 glibc 库文件损坏了,好家伙 碰到大动脉了,幸亏我还ssh连接着,一通操作终于能正常用了。

原谅我后知后觉,至此我才明白,原来是 glibc 和 gcc 版本太低的问题,尝试下更新 glibc ,发现已经是最新版了,难道是 yum 源太老?那么只能换新的 yum 源或者用源码编译安装了。
CentOS7.9安装mysql-8.0.36踩坑小记-4

之前也在 CentOS 7.9 服务器上安装过 MySQL 啊,怎么没遇到此类问题,回过头看安装包,我才发现下载的是 glibc2.28 版本的安装包,需要 glibc 版本在 2.28 及以上。
CentOS7.9安装mysql-8.0.36踩坑小记-5

再次去 MySQL 官网查看,发现还真有不同 glibc 版本的安装包,之前还真没注意过,低版本的 linux 发行版,如果不想升级 glibc 的话,使用低版本的安装包即可。
CentOS7.9安装mysql-8.0.36踩坑小记-6
CentOS7.9安装mysql-8.0.36踩坑小记-7
CentOS7.9安装mysql-8.0.36踩坑小记-8

后来查询资料得知,CentOS 7.9 系统默认的 glibc 版本是 2.17 ,glibc 是Linux系统中不可或缺的一部分,几乎所有的Linux程序都直接或间接依赖于它,是Linux系统中的一个非常重要的库,为系统提供了许多基本的函数库,扮演着至关重要的角色,所以生产服务器还是谨慎进行升级。建议 CentOS 7.9 安装MySQL ,使用 glibc 为 2.12 或 2.17 版本的安装包。

2.全面认识 MySQL 安装包

经过这次排错过程,也让我对 MySQL 安装包有了更多的认识,以 Linux 系统 MySQL 8.0.36 版本为例,我们看下官网上的安装包:
CentOS7.9安装mysql-8.0.36踩坑小记-9

根据处理器架构区分,MySQL 提供 x86_32-bit 、x86_64-bit 及 ARM_64-bit 三种,一般我们的服务器都是 x86 64-bit 架构,可以通过 uname -m 或者 arch 命令来查看。
CentOS7.9安装mysql-8.0.36踩坑小记-10
x86_32-bit 架构的安装包带有 i686 标识,x86_64-bit 架构的安装包带有 x86_64 标识,ARM_64-bit 架构的安装包带有 aarch64 标识。
CentOS7.9安装mysql-8.0.36踩坑小记-11

根据 glibc 版本不同,官方提供 glibc2.28 、glibc2.12、glibc2.17 三种,使用 ldd --version 命名可查看本机 glibc 的版本,然后选择匹配的安装包即可。

对于特定的 glibc 版本及处理器架构,MySQL官方又提供了三种不同的安装包。mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz 这个安装包通常包含了 MySQL 服务器的二进制文件,它是用于生产环境的 MySQL 数据库系统的主要组件,包括 MySQL 数据库引擎、管理工具和客户端库等,允许用户安装并运行 MySQL 数据库服务器,一般二进制安装选择此安装包。mysql-test-8.0.36-linux-glibc2.28-x86_64.tar.xz 这个安装包包含了MySQL的测试套件,它主要用于开发者或者测试人员来对MySQL数据库进行测试,包括单元测试、功能测试、性能测试等。mysql-8.0.36-linux-glibc2.28-x86_64.tar 包则是一个集成包,用于提供MySQL数据库服务器、测试套件和 MySQL Router 的二进制文件。

CentOS7.9安装mysql-8.0.36踩坑小记-12

总结:

经过这次小插曲,也算重新认识了 MySQL 的安装包,其实从 MySQL 8.0.33 版本开始,官方才提供基于 glibc2.28 的安装包,难怪之前没遇到过,之前都是用的 glibc2.12 版本的安装包。总而言之,安装 MySQL 时,要根据自己的操作系统及 glibc 版本来选择匹配的安装包,这样才能避免初始化失败。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论