我需要安装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-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
命令时,请确保没有自动选择(-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替换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,则可能是因为您确实需要mysql-community,而对于MariaDB替换它并不满意。则可能不允许您更换软件包。但是我无法猜出它是什么,所以要由您来尝试看看。我想它会出现在您确认之前的
dnf
输出中。关于mysql - 问:Fedora 30上的MariaDB安装问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58248469/