当 apt-get 和 dpkg 没有帮助时,如何强制删除未满足依赖关系的 MySQL 和 MariaDB?

当 apt-get 和 dpkg 没有帮助时,如何强制删除未满足依赖关系的 MySQL 和 MariaDB?

我已经安装mysql-server在我的Ubuntu 16.04 LTS而且效果非常好。

接下来我安装了mariadb-servermariadb-client它们与MySQL所以我决定强制卸载所有玛拉雅数据库组件。之后我遇到了问题MySQL。所以我决定强制重新安装MySQL

无法卸载,mysql-server因为卸载后存在未满足的依赖关系玛拉雅数据库...

所以我尝试了所有可能的组合,apt-getdpkg强行去除MySQL玛拉雅数据库...最后,我还手动删除了目录树中的所有文件,这些文件包含名称中的任何内容MySQL或者玛拉雅数据库...

$ mysql
The program 'mysql' can be found in the following packages:
 * mysql-client-core-5.7
 * mariadb-client-core-10.0
Try: sudo apt install <selected package>

但我仍然无法重新安装MySQL因为与玛拉雅数据库缺失,反之亦然......

$ sudo apt-get install -f mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
mysql-server is already the newest version (5.7.22-1ubuntu16.04).
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 mariadb-client : Depends: mariadb-client-10.0 (>= 10.0.34-0ubuntu0.16.04.1) but it is not going to be installed
 mariadb-server-10.0 : PreDepends: mariadb-common (>= 10.0.34-0ubuntu0.16.04.1) but it is not going to be installed
                       Depends: mariadb-client-10.0 (>= 10.0.34-0ubuntu0.16.04.1) but it is not going to be installed
                       Breaks: mysql-server
 mariadb-server-core-10.0 : Depends: mariadb-common (>= 10.0.34-0ubuntu0.16.04.1) but it is not going to be installed
 mysql-server : Depends: mysql-community-server (= 5.7.22-1ubuntu16.04) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

其实我需要MySQL在我的系统上,但我无法重新安装 Ubuntu。

请帮我重新安装MySQL

答案1

您搞乱了打包系统。“最后,我还手动删除了目录树中的所有文件,这些文件的名称中包含来自 MySQL 或 MariaDB 的任何内容”。不要这样做!

现在对您来说唯一可用的稳定包装系统状态是未安装任何提到的软件包,然后更加小心地重新开始。

要进入“NONE”状态,请删除并清除每个包:

PKGS="mysql-server mariadb-client mariadb-server-10.0 mariadb-common mysql-community-server"
sudo apt-get check
sudo apt remove $PKGS
sudo apt purge $PKGS
sudo apt autoremove
sudo apt-get install --reinstall mysql-server

您可能会收到来自这些命令的警告,可能是由于您造成的混乱。请尝试忽略它们。

答案2

上帝存在!:D

输入以下命令即可解决该问题:

sudo apt-get -f install

没有任何其他参数

然后通过以下方式显示所有包:

sudo dpkg -l | grep mariadb
sudo dpkg -l | grep mysql

并按正确的顺序删除有问题的软件包:

sudo apt-get --purge autoremove package_name

彻底删除所有有问题的软件包后,我可以重新安装MySQL沒有任何問題……

感谢@waltinator 的帮助。

相关内容