Glibc2.28
glibc2.17升级到2.28
注意记得要备份,glibc涉及到底层系统,升级失败会导致系统进不去
客户自己下载了一个Mysql8.4.2,启动不了,看提示是glibc版本不符合要求,需要是2.28版本,其实Mysql有glibc2.17的版本,但谁让客户是金主,客户要求什么咱就做什么,解决问题🥰
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
服务器版本是 Centos 7.9
先看下gcc版本
gcc -v
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44.0.3) (GCC)
版本不符合安装glibc2.28,需要升级gcc版本到8.2.0
安装必备组件
yum install -y bison gcc gcc-c++ glibc-headers
升级make版本到4.2.1
wget -c https://ftp.gnu.org/gnu/make/make-4.1.tar.gz
tar -zxvf make-4.2.1.tar.gz
cd make-4.2.1
mkdir build
cd build
../configure --prefix=/usr
编译完成后执行
sh build.sh
make install
升级gcc
wget -c https://ftp.gnu.org/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.gz
tar xzf gcc-8.2.0.tar.gz
cd gcc-8.2.0
./contrib/download_prerequisites
mkdir build
cd bulid
../configure --prefix=/usr/local/gcc-8.2.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j $(nproc)
make install
ln -s /usr/local/gcc-8.2.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-8.2.0/bin/g++ /usr/bin/g++
cp /usr/local/gcc-8.2.0/lib64/libstdc++.so.6.0.25 /usr/lib64/
cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.25 libstdc++.so.6
安装glibc2.28
wget -c https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar xzf glibc-2.28.tar.gz
cd glibc-2.28
mkdir build
cd bulid
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j $(nproc)
make install
完成后验证下glibc的版本
strings /lib64/libc.so.6 | grep GLIBC_
再去启动mysql,成功😄
本文由作者按照
CC BY 4.0
进行授权