Q:Fedora 30上的MariaDB安装问题

问题描述 投票:0回答:1

我需要安装MariaDB,但我按照Fedora Wiki的官方说明进行操作,但我无法进行适当的安装。所以,首先我运行dnf install mariadb mariadb-server命令(在根目录下),返回的是

软件包mysql-community-client-8.0.17-1.fc30.x86_64已安装。软件包mysql-community-server-8.0.17-1.fc30.x86_64已经安装。依赖性解决。没事做。完成!

所以我尝试用systemctl start mariadb启用/启动mariadb,然后返回是

无法启动mariadb.service:找不到单元mariadb.service。

我安装了其他必不可少的软件包,如php,httpd,mysql等,我也需要安装LAMP,但出现此MariaDB错误。您能给我指路吗?

mysql mariadb fedora
1个回答
0
投票

之所以这样,是因为mysql-community软件包配置为过时的mariadb软件包。

以下方法可能不是最佳方法,每个人都可以轻松地简化它。

首先,如果安装了mysql-community-*软件包,则可能已配置了MySQL Community存储库。搜索您的/etc/yum.repo.d并将其从此处删除:

$ grep -ri community /etc/yum.repos.d/*
/etc/yum.repos.d/mysql.repo:[mysql80-community]
/etc/yum.repos.d/mysql.repo:name=MySQL 8.0 Community Server
/etc/yum.repos.d/mysql.repo:baseurl=http://repo.mysql.com/yum/mysql-8.0-community/fc/$releasever/$basearch/

sudo mv /etc/yum.repos.d/mysql.repo /tmp/

然后,检查您到底有哪些mysql-community-*软件包:

$ rpm -qa | grep mysql-community
mysql-community-server-8.0.17-1.fc30.x86_64
mysql-community-libs-8.0.17-1.fc30.x86_64
mysql-community-client-8.0.17-1.fc30.x86_64
mysql-community-common-8.0.17-1.fc30.x86_64

摆脱它们的最简单方法就是通过dnf删除它们。但这需要非常仔细,因为如果它们已经存在了一段时间,您可能还需要其他软件包。因此,当您运行remove命令时,请确保您的[[no]]没有自动选择(-y选项),并在同意卸载之前检查输出。它可能看起来像这样:$ sudo dnf remove mysql-community* Dependencies resolved. =================================================================================================================================================================================== Package Architecture Version Repository Size =================================================================================================================================================================================== Removing: mysql-community-client x86_64 8.0.17-1.fc30 @mysql80-community 66 M mysql-community-common x86_64 8.0.17-1.fc30 @mysql80-community 8.3 M mysql-community-libs x86_64 8.0.17-1.fc30 @mysql80-community 7.5 M mysql-community-server x86_64 8.0.17-1.fc30 @mysql80-community 128 M Removing dependent packages: perl-DBD-MySQL x86_64 4.050-2.fc30 @fedora 367 k Removing unused dependencies:

注意Removing dependent packages部分。我仅添加了一个软件包作为示例,但对于您而言,它可能更长,更可怕。如果您确实有此部分,并且不知道是否可以安全地删除其所有内容,则最好不要这样做(暂时)。中止操作。

Is this ok [y/N]: n Operation aborted.

相反,您可以尝试使用MariaDB 

replace

mysql-community软件包。有dnf选项--allowerasing似乎可以解决问题,但是您需要使用版本指定软件包名称,以解决mysql被淘汰的问题(将命令中的版本替换为执行时可用的实际版本) :$ sudo dnf install --allowerasing --setopt=install_weak_deps=False mariadb-server-10.3.17 mariadb-10.3.17 Last metadata expiration check: 0:07:18 ago on Mon 07 Oct 2019 02:25:32 PM UTC. Dependencies resolved. =================================================================================================================================================================================== Package Architecture Version Repository Size =================================================================================================================================================================================== Installing: mariadb x86_64 3:10.3.17-1.fc30 updates 5.9 M mariadb-server x86_64 3:10.3.17-1.fc30 updates 17 M Installing dependencies: mariadb-common x86_64 3:10.3.17-1.fc30 updates 36 k mariadb-connector-c-config noarch 3.1.3-1.fc30 updates 12 k mariadb-errmsg x86_64 3:10.3.17-1.fc30 updates 205 k mysql-selinux noarch 1.0.0-8.fc30 fedora 35 k psmisc x86_64 23.1-5.1.fc30 fedora 133 k Removing dependent packages: mysql-community-client x86_64 8.0.17-1.fc30 @mysql80-community 66 M mysql-community-server x86_64 8.0.17-1.fc30 @mysql80-community 128 M Transaction Summary
现在,除mysql-community以外,没有任何东西作为依赖项被删除。

选项--setopt=install_weak_deps=False并非绝对必要,但如果没有它,dnf将安装许多您可能不需要的软件包。您可以运行而无需选择以查看区别。

替换服务器和客户端程序包后,您可以检查还剩下MySQL社区服务器上的内容,并根据需要尝试删除其余程序包:

$ rpm -qa | grep mysql-community mysql-community-libs-8.0.17-1.fc30.x86_64 mysql-community-common-8.0.17-1.fc30.x86_64 $ sudo dnf remove mysql-community-libs mysql-community-common Dependencies resolved. =================================================================================================================================================================================== Package Architecture Version Repository Size =================================================================================================================================================================================== Removing: mysql-community-common x86_64 8.0.17-1.fc30 @mysql80-community 8.3 M mysql-community-libs x86_64 8.0.17-1.fc30 @mysql80-community 7.5 M Transaction Summary

现在看来很安全,不再依赖。


我可以想到一个陷阱。

如果您不知道为什么安装了mysql-community

,那么您可能有完全需要它的东西,而对MariaDB替换它不满意。则可能不允许您更换软件包。但是我无法猜出它是什么,所以要由您来尝试看看。我想它会显示在dnf输出中,您在确认之前会对其进行检查。
© www.soinside.com 2019 - 2024. All rights reserved.