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

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,企业版 4核16GB
推荐场景:
HTAP混合负载
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: CentOS7.9 安装 mysql-8.0.36排错指南

前言:


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


1.排错记录

执行 ./mysqld --initialize 初始化命令后,提示报错,如下图所示



看报错应该是一些 so 文件版本太低,想着一步步解决呗,首先检查下 libstdc++.so.6 库版本,果然少了 GLIBCXX_3.4.20 等几项。



这里笔者偷了个懒,去公司其他服务器上拷贝来了个 6.0.25 版本的 libstdc++.so 替换了下,果然可用,再次执行下初始化,报错少了很多。



那就继续按此办法来呗,继续替换其他几个 so 文件,弄着弄着发现不对劲,连基础命令 cd ls 执行都报错找不到 libc.so.6 库文件了,网上查了下原来是 glibc 库文件损坏了,好家伙 碰到大动脉了,幸亏我还 ssh 连接着,一通操作终于能正常用了。


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



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



再次去 MySQL 官网查看,发现还真有不同 glibc 版本的安装包,之前还真没注意过,低版本的 linux 发行版,如果不想升级 glibc 的话,使用低版本的安装包即可。





后来查询资料得知,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 版本为例,我们看下官网上的安装包:



根据处理器架构区分,MySQL 提供 x86_32-bit 、x86_64-bit 及 ARM_64-bit 三种,一般我们的服务器都是 x86 64-bit 架构,可以通过 uname -m 或者 arch 命令来查看。



x86_32-bit 架构的安装包带有 i686 标识,x86_64-bit 架构的安装包带有 x86_64 标识,ARM_64-bit 架构的安装包带有 aarch64 标识。



根据 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 的二进制文件。



总结:


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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
存储 Linux 网络安全
Centos安装Docker的详细安装步骤,Docker相关组件:docker-ce-cli、docker-ce和containerd.io的区别
Centos安装Docker的详细安装步骤,Docker相关组件:docker-ce-cli、docker-ce和containerd.io的区别;CentOS7安装DockerCompose;Docker镜像仓库
|
9天前
|
NoSQL Java Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
|
8天前
|
应用服务中间件 Linux 网络安全
CentOS 7 上安装 Nginx
在 CentOS 7 上安装 Nginx 的步骤包括:添加 EPEL 仓库,安装 Nginx,启动 Nginx,配置防火墙规则,最后通过访问服务器 IP 验证安装是否成功
|
9天前
|
关系型数据库 MySQL Java
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
|
9天前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
9天前
|
SQL 关系型数据库 MySQL
MYSQL8.0在CentOS安装[单机软件]
MYSQL8.0在CentOS安装[单机软件]
|
9天前
|
Ubuntu 关系型数据库 MySQL
MySQL5.7在Ubuntu安装[单机软件],第一步登录root,sudo su -
MySQL5.7在Ubuntu安装[单机软件],第一步登录root,sudo su -
|
9天前
|
Ubuntu 关系型数据库 MySQL
|
8天前
|
存储 关系型数据库 MySQL
探索MySQL:关系型数据库的基石
MySQL,作为全球最流行的开源关系型数据库管理系统(RDBMS)之一,广泛应用于各种Web应用、企业级应用和数据仓库中

相关产品

  • 云数据库 RDS MySQL 版