从输出来看,系统中 `mariadb` 和 `mariadb-server` 被 `mysql-community-client` 和 `mysql-community-server` 替代,因此系统自动安装 MySQL 5.6 版本。
### 如果你想安装 MariaDB 而不是 MySQL,请尝试以下步骤:
1. **禁用 MySQL 仓库**:
由于 `yum` 默认使用 MySQL 仓库,因此你需要禁用它,避免 MySQL 替代 MariaDB。打开或创建一个 `.repo` 文件(例如 `/etc/yum.repos.d/mysql.repo`),注释掉或删除 MySQL 仓库:
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/$releasever/$basearch/
enabled=0 # 设置 enabled=0 来禁用这个仓库
gpgcheck=1
gpgkey=http://repo.mysql.com/RPM-GPG-KEY-mysql
2. **启用 MariaDB 仓库**:
下载并添加 MariaDB 的官方仓库配置:
vim /etc/yum.repos.d/MariaDB.repo
添加以下内容:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
3. **重新安装 MariaDB**:
现在你可以尝试重新安装 MariaDB:
yum install -y MariaDB-server MariaDB-clien
4. **启动 MariaDB**:
安装成功后,启动 MariaDB 服务:
systemctl start mariadb
systemctl enable mariadb
5. **验证安装**:
确认 MariaDB 已经正确安装并启动:
mysql -V
systemctl status mariadb
通过这些步骤,你应该可以避免安装 MySQL 而正确安装 MariaDB。如果你仍然希望继续使用 MySQL,现有的安装步骤已经为你配置好了 MySQL 5.6 版本的服务。
如果还是安装失败,MariaDB 与已经安装的 MySQL 5.6 产生了文件冲突,特别是在 `/usr/share/mysql/charsets` 目录和一些相关的 `.xml` 文件上。
### 解决步骤
1. **卸载现有的 MySQL**:
由于 MariaDB 和 MySQL 会安装类似的文件,建议先卸载 MySQL,再安装 MariaDB。你可以使用以下命令卸载 MySQL:
yum remove mysql-community-client mysql-community-server mysql-community-common
这将卸载现有的 MySQL 组件,以便为 MariaDB 安装腾出空间。
2. **清理残留依赖项**:
确保所有与 MySQL 相关的软件包都被清理掉,以避免后续冲突。
yum autoremove
3. **安装 MariaDB**:
卸载完 MySQL 后,重新尝试安装 MariaDB:
yum install -y MariaDB-server MariaDB-client
4. **检查冲突**:
如果再次出现文件冲突,可以使用 `rpm -qf <文件路径>` 来查看哪个包占用这些冲突的文件,并手动卸载相关的包。例如:
rpm -qf /usr/share/mysql/charsets/Index.xml
然后你可以使用 `rpm -e <包名>` 卸载导致冲突的包。
5. **启动 MariaDB**:
安装成功后,启动 MariaDB 服务:
systemctl start mariadb
systemctl enable mariadb
这样做可以避免 MariaDB 与 MySQL 的安装文件冲突。如果你更希望保留 MySQL,那就不要安装 MariaDB。