请教下 centos 依赖的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
weifan
V2EX    Linux

请教下 centos 依赖的问题

  •  
  •   weifan 2021-04-11 23:01:19 +08:00 3486 次点击
    这是一个创建于 1726 天前的主题,其中的信息可能已经有所发展或是发生改变。

    image.png

    安装 mysql 提示,依赖版本高了,像这种问题,就要使用 RPM 包安装的方式,有什么可行的解决方法、思路?求指教

    目前试过的有

    1. 编译 openssl,软链接过去,但是后来发现好事是依赖的问题,不行!
    2. 下载 openssl rpm 包,强制安装,也不行
    第 1 条附言    2021-04-12 09:51:29 +08:00

    抱歉,忘记说了,yum localinstall <mysql_path> 的方式也是报依赖高的问题

    image.png

    第 2 条附言    2021-04-12 10:11:22 +08:00

    环境

    有网,源的方式还是报依赖的问题

    image.png

    问题

    mysql 的依赖系统有,但版本高了,装不上。

    image.png

    第 3 条附言    2021-04-12 10:54:49 +08:00

    image.png

    服务器是 arm,问题是 mysql 需要低版本的依赖,而系统带了更高版本的依赖库。

    编译可以解决 mysql 的问题,但是我要解决这个依赖库版本高的问题,因为不只 mysql 对这个依赖库有版本要求,还有其他的包也是这个依赖问题,所以我想解决依赖版本高的问题。

    37 条回复    2021-04-18 03:48:22 +08:00
    yyyb
        1
    yyyb  
       2021-04-11 23:12:50 +08:00
    为啥不用 yum 呢?
    0ZXYDDu796nVCFxq
        2
    0ZXYDDu796nVCFxq  
       2021-04-11 23:17:28 +08:00
    不是这样安装的。

    正确方法
    1. 打开 https://repo.mysql.com/yum/mysql-8.0-community/el/7/aarch64/ ,如果你的 CentOS 是 6 或者 8,或者不同架构比如 x86_64,退回相应的目录重新选择
    2. 下载 这里的 mysql80-community-release-el7-3.noarch.rpm ,可能新版本的文件名会有变动
    3. yum 就可以安装了
    dzdh
        3
    dzdh  
       2021-04-12 00:01:12 +08:00
    同问为啥不用 dnf 呢。 无网环境么
    huangsen365
        4
    huangsen365  
       2021-04-12 00:34:13 +08:00 via iPhone
    如果是测试环境直接使用 docker 容器一键部署
    https://hub.docker.com/_/mysql
    gBurnX
        5
    gBurnX  
       2021-04-12 00:45:14 +08:00
    1.安装 OS 。

    随便找一台 64 核的物理服务器,安装 CentOS 7.6.1810 x64 。下面这个链接,用迅雷 vip 下载有资源。

    http://mirrors.oit.uci.edu/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Everything-1810.iso

    下载后安装。安装后用 xshell 以 root 模式登陆。

    xshell 属于 Xmanager 5,在百度搜 Xmanager 5,5rOo5YaM56CB77yaMTAxMjEwLTQ1MDc4OS0xNDcyMDA=


    2.安装 Mysql 8.0.23

    https://dev.mysql.com/downloads/mysql/

    选择 Red Hat......,然后 Ctrl + F 在网页里搜 [mysql-8.0.23-1.el7.x86_64.rpm-bundle.tar] ,853.6MB 的那个。


    3.开始安装
    mkdir /tmp/installMysql8.0.23

    cd /tmp/installMysql8.0.23

    把 mysql-8.0.23-1.el7.x86_64.rpm-bundle.tar 拷贝到这个目录。

    tar -xvf mysql-8.0.23-1.el7.x86_64.rpm-bundle.tar

    yum -y localinstall mysql-community-common-8.0.23-1.el7.x86_64.rpm

    yum -y localinstall mysql-community-client-plugins-8.0.23-1.el7.x86_64.rpm

    yum -y localinstall mysql-community-libs-8.0.23-1.el7.x86_64.rpm

    #fix:如果提示 Removing: 1:mariadb-libs-5.5.60-1.el7_5.x86_64 (@anaconda)

    # 则 yum remove mariadb-libs-5.5.60-1.el7_5.x86_64

    yum -y localinstall mysql-community-libs-compat-8.0.23-1.el7.x86_64.rpm

    yum -y localinstall mysql-community-client-8.0.23-1.el7.x86_64.rpm

    yum -y localinstall mysql-community-devel-8.0.23-1.el7.x86_64.rpm

    yum -y localinstall mysql-community-server-8.0.23-1.el7.x86_64.rpm

    安装完毕,现在可以:
    rm -rf mysql-*


    4.后续步骤:

    开机验证 mysqld 服务是否自动运行

    配置防火墙允许远程连接

    另找一台 2TB 内存的物理服务器,安装 Windows,再来安装 Mysql workbench,用来连接 Mysql 数据库。

    如果是初学者,可以搜 Mysql 样例数据库 world_x 或 sakila,来学习导入、查询、备份、如何快速删库跑路。

    其中备份又分离线备份与在线备份,在线备份要注意与开发和 DBA 讨论,别把库给死锁了...

    然后就是双机热备、或高级副本+分片集群等等..
    mikeguan
        6
    mikeguan  
       2021-04-12 00:48:10 +08:00 via Android
    首先看你安装的软件可以判断出是 arm64 的 CentOS7
    再看提示的依赖,这些应该都是 openssl1.0 里面的库
    正常 CentOS7 这个是随系统自带的
    为了验证特地看了下 arm64 位的 CentOS7 依然默认是 openssl1.0,到了 CentOS8 才是默认 openssl1.1
    总结就是你自己没搞清楚需要做什么,建议补基础
    msg7086
        7
    msg7086  
       2021-04-12 04:12:51 +08:00 via Android
    这是 arm 的服务器吗?
    zhoudaiyu
        8
    zhoudaiyu  
    PRO
       2021-04-12 06:25:36 +08:00 via iPhone
    试试 yum localinstall xxx.rpm
    m4d3bug
        9
    m4d3bug  
       2021-04-12 08:11:35 +08:00 via Android
    yum localinstall
    yum whatprovides
    CallMeReznov
        10
    CallMeReznov  
       2021-04-12 09:17:51 +08:00
    把依赖都下载齐以后 localinstall 我专网环境都是这样装的.
    centos ubuntu 都是.
    weifan
        11
    weifan  
    OP
       2021-04-12 09:49:27 +08:00
    @gstqc 源的安装方式也是下载 rpm 包啊,一样的
    weifan
        12
    weifan  
    OP
       2021-04-12 09:53:51 +08:00
    @gBurnX 你这适用无网环境,用离线包+挂本地源的方式。但我这边是不是这个问题
    0ZXYDDu796nVCFxq
        13
    0ZXYDDu796nVCFxq  
       2021-04-12 09:56:27 +08:00 via Android
    @weifan 不是的,那个安装包只是仓库的包
    wps353
        14
    wps353  
       2021-04-12 10:07:16 +08:00
    直接下载一个 glibc 的二进制包,直接开箱使用。
    weifan
        15
    weifan  
    OP
       2021-04-12 10:13:35 +08:00
    @gstqc 一样的啦,你可以试试!源安装也是下载 RPM 包,然后会自动解决依赖,但我这个问题不是没找到依赖,我这个是依赖装不上,因为依赖系统已经有了,但版本高了!
    skiy
        16
    skiy  
       2021-04-12 10:14:58 +08:00
    编译安装,不要用 RPM 包看看?
    retanoj
        17
    retanoj  
       2021-04-12 10:22:26 +08:00
    不能降低现在 openssl 的版本吗?
    retanoj
        18
    retanoj  
       2021-04-12 10:28:42 +08:00
    @skiy

    编译安装的话,应该是先得编译 OpenSSL 1.0,再编译 MySQL 了吧
    0ZXYDDu796nVCFxq
        19
    0ZXYDDu796nVCFxq  
       2021-04-12 10:44:18 +08:00
    @weifan
    我特意装台新虚拟机测试了下
    测试命令:

    # cat /etc/redhat-release
    CentOS Linux release 7.9.2009 (Core)

    # rpm -ivh https://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql80-community-release-el7-3.noarch.rpm
    # yum install mysql-community-server

    # mysqld --version
    /usr/sbin/mysqld Ver 8.0.23 for Linux on x86_64 (MySQL Community Server - GPL)

    完全没问题
    0ZXYDDu796nVCFxq
        20
    0ZXYDDu796nVCFxq  
       2021-04-12 10:46:08 +08:00
    安装结果:

    Installed:
    mysql-community-server.x86_64 0:8.0.23-1.el7

    Dependency Installed:
    groff-base.x86_64 0:1.22.2-8.el7 libaio.x86_64 0:0.3.109-13.el7
    mysql-community-client.x86_64 0:8.0.23-1.el7 mysql-community-client-plugins.x86_64 0:8.0.23-1.el7
    mysql-community-common.x86_64 0:8.0.23-1.el7 mysql-community-libs.x86_64 0:8.0.23-1.el7
    net-tools.x86_64 0:2.0-0.25.20131004git.el7 numactl-libs.x86_64 0:2.0.12-5.el7
    perl.x86_64 4:5.16.3-299.el7_9 perl-Carp.noarch 0:1.26-244.el7
    perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7
    perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7
    perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7
    perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-PathTools.x86_64 0:3.40-5.el7
    perl-Pod-Escapes.noarch 1:1.04-299.el7_9 perl-Pod-Perldoc.noarch 0:3.20-4.el7
    perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7
    perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-5.el7
    perl-Storable.x86_64 0:2.45-3.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7
    perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7
    perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-299.el7_9
    perl-macros.x86_64 4:5.16.3-299.el7_9 perl-parent.noarch 1:0.225-244.el7
    perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7
    perl-threads-shared.x86_64 0:1.43-6.el7
    0ZXYDDu796nVCFxq
        21
    0ZXYDDu796nVCFxq  
       2021-04-12 10:47:15 +08:00
    # ldd /usr/sbin/mysqld
    linux-vdso.so.1 => (0x00007fffa1120000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f318bfd8000)
    libprotobuf-lite.so.3.11.4 => /usr/lib64/mysql/private/libprotobuf-lite.so.3.11.4 (0x00007f318c377000)
    libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f318bda1000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f318bb99000)
    libssl.so.10 => /lib64/libssl.so.10 (0x00007f318b927000)
    libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007f318b4c4000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f318b2c0000)
    libaio.so.1 => /lib64/libaio.so.1 (0x00007f318b0be000)
    libnuma.so.1 => /lib64/libnuma.so.1 (0x00007f318aeb2000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f318abaa000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f318a8a8000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f318a692000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f318a2c4000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f318c1f4000)
    libfreebl3.so => /lib64/libfreebl3.so (0x00007f318a0c1000)
    libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f3189e74000)
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f3189b8b000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f3189987000)
    libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f3189754000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f318953e000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f318932e000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f318912a000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f3188f10000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f3188ce9000)
    libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f3188a87000)
    weifan
        22
    weifan  
    OP
       2021-04-12 10:47:23 +08:00
    @retanoj make 、make install 降了 openssl 的版本,但是它库好像没降,还是库也要操作什么?
    iloveayu
        23
    iloveayu  
       2021-04-12 10:48:03 +08:00
    先 uname -r 给带伙看看你用的是不是 ARM 架构服务器?
    weifan
        24
    weifan  
    OP
       2021-04-12 10:49:11 +08:00
    @gstqc 你仔细看下,不是 x86,我是 arm !
    0ZXYDDu796nVCFxq
        25
    0ZXYDDu796nVCFxq  
       2021-04-12 10:50:53 +08:00
    @weifan 跟架构有啥关系
    internelp
        26
    internelp  
       2021-04-12 10:52:27 +08:00
    @weifan 你 centos 是什么版本呀
    retanoj
        27
    retanoj  
       2021-04-12 11:04:28 +08:00
    @weifan
    https://www.123si.org/os/article/openssl-upgrade-or-degradation-of-centos-system/
    参考一下降级方案
    `make install` 之后应该还需要改一些软连接
    weifan
        28
    weifan  
    OP
       2021-04-12 11:31:43 +08:00
    @retanoj 我做软链接了,但是没成功,没看到有这个库 libssl.so
        29
    weifan  
    OP
       2021-04-12 11:39:37 +08:00
    gBurnX
        30
    gBurnX  
       2021-04-12 11:40:35 +08:00
    @weifan

    我这种也是需要网络来解决部分冲突的...

    方案都给了你,照抄不就行了..
    retanoj
        31
    retanoj  
       2021-04-12 11:56:02 +08:00
    @weifan
    需要看一下 /usr/lib64/libssl.so 指哪去了
    以及,如果是裸着`make install`,我不清楚会不会覆盖旧有的 openssl 1.1.1 部分文件或怎样。。
    skiy
        32
    skiy  
       2021-04-12 13:45:56 +08:00
    @retanoj 按理来说,如果包里的依赖是这样子的,那还是得安装的。但我的也是 OpenSSL 1.1.1k FIPS 25 Mar 2021, 也能安装 mysql 8 啊。
    weifan
        33
    weifan  
    OP
       2021-04-12 14:18:28 +08:00
    @gBurnX 我说过了,我这边不是你理解的问题!
    weifan
        34
    weifan  
    OP
       2021-04-12 14:26:13 +08:00
    @retanoj #31 /usr/lib64/ 下的库还是原来的,编译后似乎没有 libssl 那两个库
    ![image.png]( https://pic.rmb.bdstatic.com/bjh/1b7de1cfa3a4591ed91fdf73a124178f.png)
    ![image.png]( https://pic.rmb.bdstatic.com/bjh/cba92e8407d427df28e22e3fef9b9eed.png)
    retanoj
        35
    retanoj  
       2021-04-13 10:31:43 +08:00
    @weifan
    我在 docker 下尝试了一下。
    编译旧版 openssl 安装,是会有 lib.so/libcrpyt.so 的,但是不解决问题。
    yum install compat-openssl10.x86_64 可以解决 lib.so.10 和 libcrypt.so.10 的问题,但我这边又遇到了缺失新的依赖。

    最后我还是靠 https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm 这个源来装的 mysql-server
    vivisidea
        36
    vivisidea  
       2021-04-13 23:00:05 +08:00
    直接下 libc 的二进制包

    https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.22-el7-x86_64.tar.gz

    最近正好配置过 MySQL 主备,力推 ansible,搞一次,到处部署,效率极高
    参考

    https://www.jianshu.com/p/f79db0e5f37c
    liuxu
        37
    liuxu  
       2021-04-18 03:48:22 +08:00
    拉鸡 centos,看我 gentoo

    localhost ~ # equery belongs /lib64/libcrypt.so.1
    * Searching for /lib64/libcrypt.so.1 ...
    sys-libs/glibc-2.32-r5 (/lib64/libcrypt-2.32.so)
    sys-libs/glibc-2.32-r5 (/lib64/libcrypt.so.1 -> libcrypt-2.32.so)

    localhost ~ # equery belongs /usr/lib64/libssl.so
    * Searching for /usr/lib64/libssl.so ...
    dev-libs/openssl-1.1.1i (/usr/lib64/libssl.so.1.1)
    dev-libs/openssl-1.1.1i (/usr/lib64/libssl.so -> libssl.so.1.1)


    直接装 sys-libs/glibc 和 dev-libs/openssl 就可以了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2206 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 15:56 PVG 23:56 LAX 07:56 JFK 10:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86