前言
这几天两套mysql库都在做主机国产化割接工作,由于老库所在的主机操作系统版本太过老旧,xtrabackup工具直接报错退出。最后,决定使用mysqlshell工具进行迁移数据。但是在使用mysqlshell 8.0.38(最新版)连接数据库时碰到了问题,现在把解决过程整理出来,供大家参考!
问题现象
mysqlsh 8.0.38版本连接数据库报错:
# mysqlsh root@ip:port
显而易见,是需要安装python3.9版本。安装一个吧!
解决过程
1、下载并安装python3.9
1.1 从官网下载python3.9.19安装包
网址:https://www.python.org/downloads/
1.2 编译安装python3.9
# tar -zxvf Python-3.9.19.tgz
# ./configure --prefix=/usr/local/python3 --enable-shared
# make & make install
注意:编译的时候一定要加--enable-shared,否则python安装后,在主机上仍然没有libpython3.9.so.1.0这个库文件。
1.3 安装后检查
# cd /usr/local/python3.9/bin
# python3 --version
1.4 拷贝libpython3.9.so.1.0到/usr/lib64下
# cp /usr/local/python3.9/lib/libpython3.9.so.1.0 /usr/lib64
1.5 设置环境变量
# vi /etc/profile加入:
export PATH=/usr/local/python3.9/bin:$PATH
export LD_LIBRARY_PATH=/lib64:/usr/lib64:$LD_LIBRARY_PATH
环境变量生效:
# source /etc/profile
2、安装mysqlshell 8.0.38
# rpm -ivh mysql-shell-8.0.38-1.el8.x86_64.rpm
仍然提示:找不到libpython3.9.so.1.0这个库文件。实际上这个文件是存在的,如下:
3、强行安装mysqlshell 8.0.38
# rpm -ivh --nodeps mysql-shell-8.0.38-1.el8.x86_64.rpm
4、检查mysqlsh使用的库文件
# ldd /usr/bin/mysqlsh
可以看到,mysqlsh使用了python3.9的libpython3.9.so.1.0库文件。
5、使用mysqlsh连接数据库
# mysqlsh root@ip:port
mysqlsh终于可以正常连接到数据库了!
总结
至此,mysqlshell 8.0.38连接MySql库异常的问题已经解决。
分享是一种美德,把碰到的、学到的知识分享出来是一种快乐。希望你我都能学有所获!
最后修改时间:2024-08-16 21:23:28
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
目录