tip:使用yum安装mariaDB,官方文档给出的教程相当的详细
1.创建 MariaDB yum 仓库
官方教程截图:
1.1 根据教程提示,创建MariaDB.repo 写入以下内容并保存:
vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
1.2 查看详细版本安装包
yum list --showduplicates MariaDB-server
1.3安装可以选择默认最新,也可以指定版本
sudo yum install MariaDB-server MariaDB-client #默认最新
sudo yum install MariaDB-server-10.1.31 MariaDB-client-10.1.31 MariaDB-shared-10.1.31 MariaDB-common-10.1.31 #指定安装版本
1.4执行安装后可能会有报错问题,缺少环境依赖,大概是以下几个包
yum provides libstdc++.so.6
问题解决过程(自上而下检查依赖),大概有这么几个:
01.处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.15)(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
02.处理依赖关系 liblzma.so.5(XZ_5.0)(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
03.处理依赖关系 libc.so.6(GLIBC_2.17)(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
04.处理依赖关系 libsystemd.so.0(LIBSYSTEMD_209)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
05.处理依赖关系 libboost_program_options.so.1.53.0()(64bit),它被软件包 galera-25.3.23-1.rhel7.el7.centos.x86_64 需要
06.处理依赖关系 libsystemd.so.0()(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
07.处理依赖关系 libjemalloc.so.1()(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
解决办法:
1. 查看哪个安装包包含该库:yum provides libstdc++.so.6
libstdc++-4.4.7-4.el6.i686
2. 安装 libstdc++-4.4.7-4.el6.i686
yum install libstdc++-4.4.7-4.el6.i686
报错:
--> Finished Dependency Resolution
Error: Protected multilib versions: libstdc++-4.4.7-4.el6.i686 != libstdc++-4.4.7-3.el6.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
2.1 解决办法:
yum update libstdc++-4.4.7-3.el6.x86_64
错误信息参考:
已加载插件:fastestmirror
设置安装进程
Loading mirror speeds from cached hostfile
解决依赖关系
--> 执行事务检查
---> Package MariaDB-client.x86_64 0:10.1.36-1.el7.centos will be 安装
--> 处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.15)(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 MariaDB-common,它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 liblzma.so.5(XZ_5.0)(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libc.so.6(GLIBC_2.17)(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 liblzma.so.5()(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
---> Package MariaDB-server.x86_64 0:10.1.36-1.el7.centos will be 安装
--> 处理依赖关系 libsystemd.so.0(LIBSYSTEMD_209)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libstdc++.so.6(CXXABI_1.3.5)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.18)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 rsync,它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 perl(DBI),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.15)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 galera,它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 liblzma.so.5(XZ_5.0)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libc.so.6(GLIBC_2.17)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.14)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 liblzma.so.5()(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libsystemd.so.0()(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libjemalloc.so.1()(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 执行事务检查
---> Package MariaDB-client.x86_64 0:10.1.36-1.el7.centos will be 安装
--> 处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.15)(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 liblzma.so.5(XZ_5.0)(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libc.so.6(GLIBC_2.17)(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 liblzma.so.5()(64bit),它被软件包 MariaDB-client-10.1.36-1.el7.centos.x86_64 需要
---> Package MariaDB-common.x86_64 0:10.1.36-1.el7.centos will be 安装
---> Package MariaDB-server.x86_64 0:10.1.36-1.el7.centos will be 安装
--> 处理依赖关系 libsystemd.so.0(LIBSYSTEMD_209)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libstdc++.so.6(CXXABI_1.3.5)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.18)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.15)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 liblzma.so.5(XZ_5.0)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libc.so.6(GLIBC_2.17)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.14)(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 liblzma.so.5()(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
--> 处理依赖关系 libsystemd.so.0()(64bit),它被软件包 MariaDB-server-10.1.36-1.el7.centos.x86_64 需要
---> Package galera.x86_64 0:25.3.23-1.rhel7.el7.centos will be 安装
--> 处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.15)(64bit),它被软件包 galera-25.3.23-1.rhel7.el7.centos.x86_64 需要
--> 处理依赖关系 libc.so.6(GLIBC_2.14)(64bit),它被软件包 galera-25.3.23-1.rhel7.el7.centos.x86_64 需要
--> 处理依赖关系 libboost_program_options.so.1.53.0()(64bit),它被软件包 galera-25.3.23-1.rhel7.el7.centos.x86_64 需要
---> Package jemalloc.x86_64 0:3.6.0-1.el7 will be 安装
--> 处理依赖关系 libc.so.6(GLIBC_2.14)(64bit),它被软件包 jemalloc-3.6.0-1.el7.x86_64 需要
---> Package perl-DBI.x86_64 0:1.609-4.el6 will be 安装
---> Package rsync.x86_64 0:3.0.6-12.el6 will be 安装
--> 完成依赖关系计算
错误:Package: MariaDB-server-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: libstdc++.so.6(CXXABI_1.3.5)(64bit)
错误:Package: MariaDB-server-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: liblzma.so.5(XZ_5.0)(64bit)
错误:Package: MariaDB-server-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
错误:Package: galera-25.3.23-1.rhel7.el7.centos.x86_64 (mariadb)
Requires: libboost_program_options.so.1.53.0()(64bit)
错误:Package: galera-25.3.23-1.rhel7.el7.centos.x86_64 (mariadb)
Requires: libc.so.6(GLIBC_2.14)(64bit)
错误:Package: MariaDB-server-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: liblzma.so.5()(64bit)
错误:Package: galera-25.3.23-1.rhel7.el7.centos.x86_64 (mariadb)
Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
错误:Package: jemalloc-3.6.0-1.el7.x86_64 (mariadb)
Requires: libc.so.6(GLIBC_2.14)(64bit)
错误:Package: MariaDB-server-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
错误:Package: MariaDB-client-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: libc.so.6(GLIBC_2.17)(64bit)
错误:Package: MariaDB-client-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: liblzma.so.5(XZ_5.0)(64bit)
错误:Package: MariaDB-client-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
错误:Package: MariaDB-server-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: libsystemd.so.0(LIBSYSTEMD_209)(64bit)
错误:Package: MariaDB-server-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: libsystemd.so.0()(64bit)
错误:Package: MariaDB-server-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
错误:Package: MariaDB-server-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: libc.so.6(GLIBC_2.17)(64bit)
错误:Package: MariaDB-client-10.1.36-1.el7.centos.x86_64 (mariadb)
Requires: liblzma.so.5()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest