GreatSQL社区

搜索

[已解决] 系统升级 openssl 导致greatesql无法启动

296 4 2024-6-7 14:22
本帖最后由 mabai 于 2024-6-7 15:30 编辑

系统内核版本:3.10.0-1160.118.1.el7.x86_64
原本openssl 版本:1.0.2k
升级的openssl 版本:1.1.1w

升级之后数据库无法启动报错如下:

-- 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.



想请问一下 这个要怎么处理
全部回复(4)
驭无殇1998 2024-6-7 15:00:20
这个跟我之前的问题有点像,你可以去看看我的解决办法:
https://greatsql.cn/thread-686-1-1.html
yejr 2024-6-7 15:01:02
把 openssl 新版本相应的 so 动态库文件加入 ldconfig 中并确认已被加载,如果还不行,可能需要在新环境下用源码再次编译了。
驭无殇1998 2024-6-7 15:03:26
yejr 发表于 2024-6-7 15:01
把 openssl 新版本相应的 so 动态库文件加入 ldconfig 中并确认已被加载,如果还不行,可能需要在新环境下 ...

我源码编译的时候,改用centos7.6的镜像,然后跑不了了怎么办?
这个是我改动后的Dockerfile:
FROM centos:centos7.6.1810
ENV LANG en_US.utf8

LABEL maintainer="greatsql.cn" \
email="greatsql@greatdb.com" \
forum="https://greatsql.cn/forum.php" \
gitee="https://gitee.com/GreatSQL/GreatSQL-Docker"

ARG OPT_DIR=/opt
ARG MYSQL_UID=3306
ARG MYSQL_USER=mysql
ARG GREATSQL_BUILD_DOWNLOAD_URL="https://gitee.com/GreatSQL/GreatSQL-Docker/raw/greatsql-8.0.32-25/GreatSQL-Build"
ARG GREATSQL_ENV="greatsql-setenv.sh"
ARG ENTRYPOINT="docker-entrypoint.sh"
ARG DEPS="autoconf automake binutils bison cmake cyrus-sasl-devel cyrus-sasl-scram gcc-c++ \
gcc-toolset-11 gcc-toolset-11-annobin-plugin-gcc jemalloc jemalloc-devel krb5-devel libaio-devel \
libcurl-devel libtirpc-devel libudev-devel m4 make ncurses-devel numactl-devel openldap-devel \
openssl openssl-devel pam-devel readline-devel wget zlib-devel"

RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*; \
rm -f /etc/yum.repos.d/* ; \
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo > /dev/null 2>&1 && \
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo > /dev/null 2>&1 && \
yum clean all > /dev/null 2>&1 && \
yum makecache > /dev/null 2>&1 && \
yum update -y > /dev/null 2>&1 && \
yum install -y epel-release > /dev/null 2>&1 && \
yum install -y ${DEPS} > /dev/null 2>&1 && \
source /opt/rh/gcc-toolset-11/enable > /dev/null 2>&1 && \
echo 'source /opt/rh/gcc-toolset-11/enable' >> /root/.bash_profile; \
/usr/sbin/groupadd -g ${MYSQL_UID} ${MYSQL_USER} && \
/usr/sbin/useradd -u ${MYSQL_UID} -g ${MYSQL_UID} -s /sbin/nologin ${MYSQL_USER} && \
curl -o ${OPT_DIR}/${GREATSQL_ENV} ${GREATSQL_BUILD_DOWNLOAD_URL}/${GREATSQL_ENV} > /dev/null 2>&1 && \
curl -o /${ENTRYPOINT} ${GREATSQL_BUILD_DOWNLOAD_URL}/${ENTRYPOINT} > /dev/null 2>&1 && \
chmod +x /*sh ${OPT_DIR}/*sh

ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["bash"]
mabai 2024-6-7 15:28:15
驭无殇1998 发表于 2024-6-7 15:00
这个跟我之前的问题有点像,你可以去看看我的解决办法:
https://greatsql.cn/thread-686-1-1.html
...

我按照这个方法解决,感谢
mabai

13

主题

0

博客

73

贡献

注册会员

Rank: 2

积分
127

助人为乐(铜)勤学好问(铜)

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-9-8 09:30 , Processed in 0.020251 second(s), 13 queries , Redis On.
快速回复 返回顶部 返回列表