linux安装mysql8.x报错解决

安装过程中下面的语句 

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

出现报错

/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /soft/mysql/bin/mysqld)
/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /soft/mysql/bin/mysqld)
/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /soft/mysql/bin/mysqld)
/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /soft/mysql/bin/mysqld)
/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /soft/mysql/bin/mysqld)
/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /soft/mysql/bin/mysqld)
/soft/mysql/bin/mysqld: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /soft/mysql/bin/mysqld)
/soft/mysql/bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /soft/mysql/bin/mysqld)
/soft/mysql/bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /soft/mysql/bin/../lib/private/libcrypto.so.3)
/soft/mysql/bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /soft/mysql/bin/../lib/private/libprotobuf-lite.so.3.19.4)
/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /soft/mysql/bin/../lib/private/libprotobuf-lite.so.3.19.4)
/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /soft/mysql/bin/../lib/private/libprotobuf-lite.so.3.19.4)
/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /soft/mysql/bin/../lib/private/libprotobuf-lite.so.3.19.4)
/soft/mysql/bin/mysqld: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /soft/mysql/bin/../lib/private/libprotobuf-lite.so.3.19.4)

 总结来说归类为两个问题

问题1:libstdc++.so.6系列报错是由于当前动态库版本较低不满足软件的先决条件,从错误来看至少需要22以上的版本,用高版本(libstdc++.so.6.0.25升职更高)替换后从新创建软件连接即可。

问题2:libm.so.6和libc.so.6错误由于glibc版本较低导致,并且至少需要glibc 2.28的版本

 问题一的解决   libstdc++.so.6.0.26

1.从网上下载所需要的libstdc++.so.6.0.24版本

2.把libstdc++.so.6.0.26拷贝到/usr/lib64目录下

cp libstdc++.so.6.0.26 /usr/lib64/

3.删除原来的libstdc++.so.6符号连接。

rm -rf libstdc++.so.6

4.新建新符号连接

ln -s libstdc++.so.6.0.26 libstdc++.so.6

 这时候再执行

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data   你就会发现报错少了一点,也证明了libstdc++.so.6.0.24

问题二的解决   编译安装glibc-2.28

这里其实也很复杂 总体思路参考centos7升级glibc2.28_centos7 glibc2.28-CSDN博客

1.下载glibc2.28

mkdir -p /opt/third-party && cd /opt/third-party
wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar -xf glibc-2.28.tar.gz
cd glibc-2.28

2.查看glibc的INSTALL文件所描述的依赖 并 下载

vim INSTALL

可以发现我们需要前置条件是    >=4.0的make   和    >=4.9的gcc

 

照着链接做 基本没有问题

gcc升级链接 

 CentOS升级gcc到高版本(全部版本详细过程)_centos gcc update-CSDN博客

这里我选择的是 7.3版本的gcc

make的升级

linux centos7 升级 make 4.3_centos7 make-4.3-CSDN博客

3. 完成了前置条件之后   修改test-installation.pl文件

   添加 && $name ne "nss-test2"

【小知识点】行号  可以通过  :set number的方式   让其显示

vim scripts/test-installation.pl

4. 正式编译

这个过程我参考了两个链接

centos7升级glibc2.28_centos7 glibc2.28-CSDN博客

centos7 glibc2.17升级到glibc2.28_centos_esdhhh-华为云开发者联盟

具体操作

cd /...对应的的路径.../glibc-2.28/

mkdir glibc_build
cd glibc_build
../configure --prefix=/usr --with-headers=/usr/include --with-binutils=/usr/bin

中间可能会有依赖的确实 下载对应的依赖即可

我操作的过程中缺失了bison   直接通过 yum install bison就可以解决了

然后是make编译 

make -j10

make install 

最后成功了   glibc2.28编译成功



 

mysql安装的最终结果   显示密码就OK了

 

参考链接

bug总体解决思路 https://www.cnblogs.com/Roobbin/p/17772445.html

libstdc++.so.6.0.26的安装 完美解决动态库问题libstdc++.so.6: version `CXXABI_1.3.11‘ not found_./mysqld: /lib64/libstdc++.so.6: version `cxxabi_1-CSDN博客

glibc2.28升级  centos7升级glibc2.28_centos7 glibc2.28-CSDN博客 

centos7 glibc2.17升级到glibc2.28_centos_esdhhh-华为云开发者联盟

gcc升级链接  CentOS升级gcc到高版本(全部版本详细过程)_centos gcc update-CSDN博客

make升级链接 linux centos7 升级 make 4.3_centos7 make-4.3-CSDN博客

  • 36
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux环境下安装MySQL的步骤如下: 1. 下载MySQL安装包并解压缩至指定目录。 2. 将MySQL的服务文件添加到系统中,可以使用以下命令将服务文件复制到`/etc/init.d/`目录下: ``` cp -a ./support-files/mysql.server /etc/init.d/mysql ``` 然后,将服务文件授权并添加到系统服务中: ``` chmod +x /etc/init.d/mysql chkconfig --add mysql ``` 3. 编辑MySQL的配置文件`my.cnf`,设置MySQL安装目录和数据目录,可以在文件中添加以下内容: ``` basedir=/path/to/mysql/ # MySQL安装目录 datadir=/path/to/mysql/data/ # 数据目录 socket=/tmp/mysql.sock ``` 4. 启动MySQL服务: ``` /etc/init.d/mysql start ``` 5. 登录MySQL,如果报错mysql:未找到命令”,则需要将MySQL命令添加到系统服务中。可以执行以下命令添加链接: ``` ln -s /path/to/mysql/bin/mysql /usr/bin ``` 如果该链接已存在,则可以执行以下命令进行覆盖: ``` ln -sf /path/to/mysql/bin/mysql /usr/bin ``` 6. 使用临时密码登录MySQL: ``` mysql -uroot -p ``` 7. 登录成功后,可以修改root用户的密码以提高安全性。 请注意,上述步骤中的路径和命令需要根据实际情况进行调整。同时,确保在执行命令前切换到正确的安装目录下。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux安装MySql详细教程](https://blog.csdn.net/qq_34383510/article/details/125220644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值