官答丨操作系统升级 Openssl 导致 GreatSQL 无法启动
官答丨操作系统升级 Openssl 导致 GreatSQL 无法启动
官答栏目针对 GreatSQL 数据库中的问题,选取官方论坛和讨论群中的典型提问进行深入解答。内容涵盖数据库安装部署、配置优化、故障排查、性能测试等方面。
在文章中,不仅提供解决方案,还会结合实例深入剖析问题的成因,提升读者对 GreatSQL 数据库的理解能力。
如果你在管理、使用 GreatSQL 数据库时遇到棘手的技术难题,想系统地学习提高数据库技能,就来看看官答的文章吧。这里不仅可以找到可靠的解决方法,还能从中学习到数据库优化的经验和思路。
通过阅读官答的内容,可以全面地掌握 GreatSQL 数据库管理的技能,熟练应对各种故障情况。快来关注官答栏目,与我们一起成长!
本问题来自讨论区群,用户使用数据库环境大概介绍如下:
名称 | 版本 |
---|---|
操作系统 | CentOS 7 |
系统内核版本 | 3.10.0-1160.118.1.el7.x86_64 |
openssl升级之前版本 | 1.0.2k |
openssl升级之后版本 | 1.1.1w |
数据库版本 | GreatSQL-8.0.32-25 |
用户问题
用户提供的问题信息内容如下:
1、Openssl 版本升级之后 GreatSQL 无法启动报错如下:
-- Unit mysqld.service has begun starting up. Jun 07 14:03:21 m-node1 mysqld[34078]: /usr/local/GreatSQL/bin/mysqld: /usr/local/openssl/lib/libcrypto.so: version `OPENSSL_1.0.1_EC' not found (required by /usr/local/GreatSQL/bin/../lib/private/libssl.so.10) Jun 07 14:03:21 m-node1 mysqld[34078]: /usr/local/GreatSQL/bin/mysqld: /usr/local/openssl/lib/libcrypto.so: version `libcrypto.so.10' not found (required by /usr/local/GreatSQL/bin/../lib/private/libssl.so.10) Jun 07 14:03:21 m-node1 systemd[1]: mysqld.service: control process exited, code=exited status=1 Jun 07 14:03:21 m-node1 systemd[1]: Failed to start MySQL Server.
2、用户经过检查,再次安装了 GreatSQL 的 rpm 依赖包,依然报错 so 动态库文件问题
$ yum install -y pkg-config perl libaio-devel numactl-devel numactl-libs net-tools openssl openssl-devel jemalloc jemalloc-devel perl-Data-Dumper perl-Digest-MD5 python2 perl-JSON perl-Test-Simple
3、将 GreatSQL 命令配置到环境变量 PATH 中,依然报错 so 动态库文件问题
$ ln -s /usr/local/GreatSQL-8.0.32-25-Linux-glibc2.17-x86_64 /usr/local/greatsql $ vim /etc/profile export PATH=$PATH:/usr/local/greatsql/bin $ source /etc/profile $ mysql -V mysql: /usr/local/openssl/lib/libcrypto.so: version `libcrypto.so.10' not found (required by mysql) mysql: /usr/local/openssl/lib/libssl.so: version `libssl.so.10' not found (required by mysql)
解答用户疑问
根据现象及报错内容分析,推测极可能是在 /usr/local 目录下安装了更高版本的 Openssl,导致动态库链接失败。
这种情况可以把 Openssl 下的 lib 库加载到 LD_LIBRARY_PATH
环境变量中。
解决用户问题
将 Openssl 下的 lib 库加载到 LD_LIBRARY_PATH
环境变量中。
意思也是为了,不将 /usr/local/openssl/lib 加载到 LD_LIBRARY_PATH
中了。
$ vim /etc/profile export LD_LIBRARY_PATH=/usr/lib64 $ source /etc/profile
使用ldd命令检查mysqld是否缺失依赖so库文件
$ ldd mysqld | grep ssl libssl.so.10 => /usr/local/GreatSQL-8.0.32-25-Linux-glibc2.17- x86_64/bin/./../lib/private/libssl.so.10 (0x00007f292ed72000) $ ldd mysql | grep ssl libssl.so => /lib64/libssl.so (0x00007fdfc566d000)
此时so动态库文件已经具备,再次可正常启动GreatSQL数据库实例。
$ /usr/local/greatsql/bin/mysqld --defaults-file=/data/greatsql/greatsql3306/my3306.cnf & $ ps -ef | grep mysqld $ ss -lnp | grep mysqld
问题延伸
对于 systemd 方式启动 GreatSQL 数据库LD_LIBRARY_PATH
变量怎么配置?
如果是用 systemd 方式启动 GreatSQL ,需要修改 systemd 的 service 文件,添加 LD_LIBRARY_PATH
这个环境变量参数即可,配置方式如下:
$ echo "LD_LIBRARY_PATH=/usr/lib64" >> /etc/sysconfig/mysql $ ldconfig $ vim /lib/systemd/system/greatsql.service [Unit] ......省略 [Service] EnvironmentFile=-/etc/sysconfig/mysql
启动GreatSQL
# 重新加载systemd的service文件 $ systemctl daemon-reload # 启动GreatSQL服务 $ systemctl start greatsql # 查看GreatSQL服务运行状态 $ systemctl status greatsql # 查看GreatSQL实例进程 $ ps -ef | grep mysqld # 查看GreatSQL实例端口 $ ss -lnp | grep mysqld
Enjoy GreatSQL :)
关于 GreatSQL
GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。
相关链接: GreatSQL社区 Gitee GitHub Bilibili
GreatSQL社区:
社区有奖建议反馈: https://greatsql.cn/thread-54-1-1.html
社区博客有奖征稿详情: https://greatsql.cn/thread-100-1-1.html
(对文章有疑问或者有独到见解都可以去社区官网提出或分享哦~)
技术交流群:
微信&QQ群:
QQ群:533341697
微信群:添加GreatSQL社区助手(微信号:wanlidbc
)好友,待社区助手拉您进群。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Percona Toolkit 神器全攻略(配置类)
Percona Toolkit 神器全攻略(配置类) Percona Toolkit 神器全攻略系列共八篇,前文回顾: 前文回顾 Percona Toolkit 神器全攻略 Percona Toolkit 神器全攻略(实用类) 全文约定:$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续阅读中,依据此约定进行理解与操作 配置类 在Percona Toolkit中配置类共有以下工具 pt-config-diff:比较数据库配置文件和参数 pt-mysql-summary:对GreatSQL/MySQL配置和status进行汇总 pt-variable-advisor:分析参数,并提出建议 pt-config-diff 概要 比较 GreatSQL/MySQL 配置文件和服务器变量 用法 pt-config-diff [OPTIONS] CONFIG CONFIG [CONFIG...] 选项 该工具所有选项如下 参数 含义 --ask-pass 连接 GreatSQL/MySQL 时提示输入密码 --charset 字符集 --config 读取这个逗号分隔的...
- 下一篇
如何在Spring Boot框架下实现高效的Excel服务端导入导出?
前言 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。今天我们就使用纯前对按表格控件带大家了解,如何在Spring Boot框架下实现Excel服务端导入导出。 1.IDEA创建SpringBoot项目 1.1 Spring Initializr 想要在IDEA下快速搭建一个SpringBoot项目,可以使用Spring Initializr工具作为脚手架。 进入IDEA后,在左侧菜单中可以找到Plugins,点击后,在上方的搜索框中输入Spring Initializr。 之后点击右上角的绿色Install按钮进行安装。 安装完毕后,在New Project 的时候就会多一个Spring Initializr的选项。 1.2 SpringBoot 项目的创建 Project SDK:根据实际应用情况选择用于配置项目所依赖的Java SDK。 Choose Spring Initializr Server:选择一个Spring Initia...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS关闭SELinux安全模块