关于升级Mysql8.0.34涉及gcc,glibc环境依赖问题解决办法

1.环境更新安装

2.版本依赖查看

3.程序包下载

4.GCC安装

5.bison安装

6.python安装

7.makeinfo安装

8.binutils安装

9.make安装

10.glibc安装

一开始安装数据库,百度提示需要升级gcc和glibc,gcc升级正常,就是耗时有点长,好歹能够升级成功。重点就卡在glibc升级上,手动升级版本后,动态库文件是处于未更新的情况,如果手动更新,那么恭喜你,所有命令都不好使了,就连虚拟机都没法重启,好歹恢复了镜像,也算是提前踩雷。不过网上有说,通过临时设定 环境,可以处理glibc因手动替换导致的命令失效问题,本人测试,未能成功!

期间有一个glibc版本升级成功,但是动态库文件依旧没能更新,也是无用。按照网上教程逐步执行,连版本都同网上教程一致,奈何就是不通过。大奔😰

期间又测试多个glibc版本,都不太行,于是在网络海洋里继续遨游~~~~

无意间发现一篇关于glibc升级文章(后来再找,没找到,贴不上了),介绍了可以根据查看glibc版本依赖进行安装,之前一致安装gcc12,本着高版本NB,可以向下兼容的信念,一条路走到黑。现如今,发现前方终于出现曙光,上天垂青啊😭😭😭😭

话不多说,直入主题:

安装依赖环境

不嫌麻烦可以在安装过程中执行,缺少哪些环境下载哪些!

1、更换切入点,在升级gcc之前,先要把依赖环境升级、更新一下。

yum update
yum install -y gcc-c++ zlib2 libtool bzip2
yum install -y bzip2 gcc-c++

2、安装python环境,后面安装python会使用到

yum install -y ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel bzip2-devel libffi-devel

查看glibc版本依赖

这里以glibc-2.31版本进行举例,解压文件后,在当前目录下会有一个文件说明,可以显示当前版本程序依赖及版本信息。 

这里说明一下,bison 版本虽然提示2.7及以上,最好还是下载较新的版本,本人初始安装3.0.1版本,在最后安装glibc时,还是提示版本低,要求最低不低于3.0.5的版本,可以适当版本选择。

[root@localhost glibc-2.31]# cat INSTALL |grep -E "later|nwner"
     GCC 8 and binutils 2.29 or later.  Note that when CET is enabled,
The tests (and later installation) use some pre-existing files of the
   * GNU 'binutils' 2.25 or later
   * GNU 'texinfo' 4.7 or later
   * GNU 'bison' 2.7 or later
   * Python 3.4 or later
   * GDB 7.8 or later with support for Python 2.7/3.4 or later
   * GNU 'gettext' 0.10.36 or later
[root@localhost glibc-2.31]# 

GCC升级

这里提前说下:一下所有版本程序,除python外,均可在当前地址下载:

 下载路径:Index of /gnu/gcc      下载程序包,需要下载什么,就把地址后的gcc替换掉

安装gcc版本,推荐使用二进制程序包进行编译安装,缺点是耗时。网上有通过centos-release-scl 安装的方式升级gcc,但是发现一个问题,就是没有更新动态库,find 了一下,没有找到版本库文件,刚好mysql安装又需要,不得又换回编译安装方式

第一步:下载程序,并解压程序,这里不展开说明了

第二步:进入目录,执行下列命令自动下载gcc依赖。所需依赖为: gmp、mpfr、mpc

./contrib/download_prerequisites

也可以下载二进制包,自行手动进行安装,且需要安装在gcc目录下

第三步:创建build目录,名称任意,编译时不能再gcc根目录下执行,进入目录

mkdir build && cd build

第四步:配置

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

第五步:编译 && 编译安装

make -j4
make install

第六步:安装完成后,查找动态库文件进行替换

find / -name "libstdc++.so*"
# 备份
mv /usr/lib64/libstdc++.so.6{,.bak} && mv /usr/lib64/libstdc++.so.6.0.19{,.bak} &&
# 创建软链
 ln -s /usr/local/lib64/libstdc++.so.6.0.32 /usr/lib64/ && ln -s /usr/local/lib64/libstdc++.so.6 /usr/lib64/

第七步:查看动态库,看是否达到程序所要求的版本

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

执行以上步骤,gcc安装完毕

BISON安装

# 解压
tar -xvf bison-3.0.1.tar.gz (后面安装时,提示版本不对,又重新安装3.0.5)

# 进入目录
cd bison-3.0.1

# 创建编译目录,这里我统一创建build,部分程序不需要,我记得gcc坑定时需要这个干的
mkdir build

# 进入
cd build

# 初始化
../configure

# 编译安装
make
make install

# 查看版本
bison --version

PYTHON安装

# 个人习惯,改了下大小写
tar -xvf Python-3.10.5.tgz && mv Python-3.10.5 python-3.10.5 && cd python-3.10.5 

# 下载python 依赖
yum install -y ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel bzip2-devel libffi-devel

# 创建编译目录,并编译安装
mkdir build && cd build
../configure 
make 
make install

# 版本替换并更新yum报错问题
mv /usr/bin/python{,.bak} && ln -s /root/soft/python-3.10.5/build/python /usr/bin/ 
sed -i "1s$\#\!/usr/bin/python$\#\!/usr/bin/python2.7$" /usr/bin/yum && sed -i "s@\#\! /usr/bin/python@\#\! /usr/bin/python2.7@g" /usr/libexec/urlgrabber-ext-down

# 查看版本
python --version

MAKEINFO安装

tar -xvf texinfo-4.8.tar.gz
cd texinfo-4.8
mkdir build && cd build
../configure
make
make install
makeinfo --version

BINUTILS安装

tar -xvf binutils-2.40.tar.gz 
cd binutils-2.40
mkdir build && cd build
../configure 
make
make install
ld --version

make安装

tar -xvf make-4.3.tar.gz 
cd make-4.3
mkdir build
cd build
../configure 
make
make install
make --version
cp /usr/bin/make /usr/bin/make.bak
cp ./make /usr/bin/
make --version

GLIBC安装

重头戏,验证奇迹的时刻到了

# 安装工具
yum groupinstall "Development Tools" 
# 进入目录
cd glibc-2.31
mkdir build && cd build

# 下载依赖
yum install glibc-devel
make distclean

# 配置&&编译&&安装
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include
make 
make install

# 版本验证
ldd --version

上述内容完成后,mysql8的安装环境就算是配置完成,可以根据mysql安装教程进行安装部署。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Her 20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值