Mysql 问:Fedora 30上的MariaDB安装问题
我需要安装MariaDB,并按照Fedora Wiki的官方说明进行操作,但无法正确安装。因此,首先我运行Mysql 问:Fedora 30上的MariaDB安装问题,mysql,mariadb,fedora,Mysql,Mariadb,Fedora,我需要安装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启用/启动
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,但我遇到了这个错误。你能告诉我怎么走吗?之所以会这样,是因为mysql社区包被配置为过时的mariadb包 下面的方法可能不是最理想的,每个人都可以很容易地将其简化 首先,如果您安装了
mysql社区-*
软件包,那么您可能已经配置了mysql社区
repo。在您的/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社区-*
软件包:
$ 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:
请注意删除依赖程序包部分
。我只添加了一个包作为示例,但在您的情况下,它可能会更长更可怕。如果您确实拥有该部分,但不知道是否可以安全地删除其所有内容,那么最好不要这样做(现在还不知道)。中止操作
Is this ok [y/N]: n
Operation aborted.
相反,您可以尝试用MariaDB替换mysql社区包。有一个dnf
选项--allowerasing
,似乎可以解决这个问题,但是您需要使用版本来指定包名,以解决mysql过时的问题(将命令中的版本替换为您执行此操作时可用的实际版本):
现在,除了mysql社区之外,没有任何依赖项被删除,这是我们的目标
选项--setopt=install\u-weak\u-deps=False
并非绝对必要,但如果没有它,则dnf
将安装许多您可能不需要的软件包。您可以在不使用该选项的情况下运行以查看差异
更换服务器和客户端软件包后,您可以检查MySQL community server中还有哪些软件包,如果需要,可以尝试删除其余的软件包:
$ 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社区,那么您可能有一些东西需要它,并且不满足于替换它。那么它可能不允许您更换软件包。但我猜不出它可能是什么,所以这取决于你去试试看。我想它会出现在您在确认之前检查的
dnf
输出中。之所以会出现这种情况,是因为mysql社区包被配置为过时的mariadb包
下面的方法可能不是最理想的,每个人都可以很容易地将其简化
首先,如果您安装了mysql社区-*
软件包,那么您可能已经配置了mysql社区
repo。在您的/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社区-*
软件包:
$ 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:
请注意删除依赖程序包部分
。我只添加了一个包作为示例,但在您的情况下,它可能会更长更可怕。如果您确实拥有该部分,但不知道是否可以安全地删除其所有内容,那么最好不要这样做(现在还不知道)。中止操作
Is this ok [y/N]: n
Operation aborted.
相反,您可以尝试用MariaDB替换mysql社区包。有一个dnf
选项--allowerasing
,似乎可以解决这个问题,但是您需要使用版本来指定包名,以解决mysql过时的问题(将命令中的版本替换为您执行此操作时可用的实际版本):
现在,除了mysql社区之外,没有任何依赖项被删除,这是我们的目标
选项--setopt=install\u-weak\u-deps=False
并非绝对必要,但如果没有它,则dnf
将安装许多您可能不需要的软件包。您可以在不使用该选项的情况下运行以查看差异
更换服务器和客户端软件包后,您可以检查MySQL community server中还有哪些软件包,如果需要,可以尝试删除其余的软件包:
$ 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社区,那么您可能有一些东西需要它,并且不满足于替换它。那它可能就不可能了