安装 mysql 提示,依赖版本高了,像这种问题,就要使用 RPM 包安装的方式,有什么可行的解决方法、思路?求指教
目前试过的有
抱歉,忘记说了,yum localinstall <mysql_path> 的方式也是报依赖高的问题
有网,源的方式还是报依赖的问题
mysql 的依赖系统有,但版本高了,装不上。
服务器是 arm,问题是 mysql 需要低版本的依赖,而系统带了更高版本的依赖库。
编译可以解决 mysql 的问题,但是我要解决这个依赖库版本高的问题,因为不只 mysql 对这个依赖库有版本要求,还有其他的包也是这个依赖问题,所以我想解决依赖版本高的问题。
1
yyyb 2021-04-11 23:12:50 +08:00
为啥不用 yum 呢?
|
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 就可以安装了 |
3
dzdh 2021-04-12 00:01:12 +08:00
同问为啥不用 dnf 呢。 无网环境么
|
4
huangsen365 2021-04-12 00:34:13 +08:00 via iPhone
如果是测试环境直接使用 docker 容器一键部署
https://hub.docker.com/_/mysql |
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 讨论,别把库给死锁了... 然后就是双机热备、或高级副本+分片集群等等.. |
6
mikeguan 2021-04-12 00:48:10 +08:00 via Android
首先看你安装的软件可以判断出是 arm64 的 CentOS7
再看提示的依赖,这些应该都是 openssl1.0 里面的库 正常 CentOS7 这个是随系统自带的 为了验证特地看了下 arm64 位的 CentOS7 依然默认是 openssl1.0,到了 CentOS8 才是默认 openssl1.1 总结就是你自己没搞清楚需要做什么,建议补基础 |
7
msg7086 2021-04-12 04:12:51 +08:00 via Android
这是 arm 的服务器吗?
|
8
zhoudaiyu 2021-04-12 06:25:36 +08:00 via iPhone
试试 yum localinstall xxx.rpm
|
9
m4d3bug 2021-04-12 08:11:35 +08:00 via Android
yum localinstall
yum whatprovides |
10
CallMeReznov 2021-04-12 09:17:51 +08:00
把依赖都下载齐以后 localinstall 我专网环境都是这样装的.
centos ubuntu 都是. |
13
0ZXYDDu796nVCFxq 2021-04-12 09:56:27 +08:00 via Android
@weifan 不是的,那个安装包只是仓库的包
|
14
wps353 2021-04-12 10:07:16 +08:00
直接下载一个 glibc 的二进制包,直接开箱使用。
|
15
weifan OP @gstqc 一样的啦,你可以试试!源安装也是下载 RPM 包,然后会自动解决依赖,但我这个问题不是没找到依赖,我这个是依赖装不上,因为依赖系统已经有了,但版本高了!
|
16
skiy 2021-04-12 10:14:58 +08:00
编译安装,不要用 RPM 包看看?
|
17
retanoj 2021-04-12 10:22:26 +08:00
不能降低现在 openssl 的版本吗?
|
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) 完全没问题 |
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 |
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) |
22
weifan OP @retanoj make 、make install 降了 openssl 的版本,但是它库好像没降,还是库也要操作什么?
|
23
iloveayu 2021-04-12 10:48:03 +08:00
先 uname -r 给带伙看看你用的是不是 ARM 架构服务器?
|
25
0ZXYDDu796nVCFxq 2021-04-12 10:50:53 +08:00
@weifan 跟架构有啥关系
|
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` 之后应该还需要改一些软连接 |
29
weifan OP |
31
retanoj 2021-04-12 11:56:02 +08:00
|
32
skiy 2021-04-12 13:45:56 +08:00
@retanoj 按理来说,如果包里的依赖是这样子的,那还是得安装的。但我的也是 OpenSSL 1.1.1k FIPS 25 Mar 2021, 也能安装 mysql 8 啊。
|
34
weifan OP @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) |
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 |
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 |
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 就可以了 |