apt:mysql-client 和 mysql-server 未升级

apt:mysql-client 和 mysql-server 未升级

由于 mysql-client 和 mysql-server 已更新至 8.0.33,因此它们被保留并且未升级。

The following packages have been kept back:
 mysql-client mysql-server
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

安装 mysql-client-8.0 和 mysql-server-8.0 不起作用:

[...]
apt install mysql-server-8.0 mysql-client-8.0
[...]
The following packages have unmet dependencies:
 mysql-client-8.0 : Depends: mysql-common (>= 5.5)
 mysql-server-8.0 : PreDepends: mysql-common (>= 5.5)
                    Depends: mysql-common (>= 5.8+1.0.4~)
E: Unable to correct problems, you have held broken packages.
[...]

mysql-common 的版本是 8.0.32:

apt-cache policy mysql-common
mysql-common:
  Installed: 8.0.32-1ubuntu18.04
  Candidate: 8.0.32-1ubuntu18.04
  Version table:
 *** 8.0.32-1ubuntu18.04 100
        100 /var/lib/dpkg/status
     5.8+1.0.5ubuntu2 500
        500 http://de.archive.ubuntu.com/ubuntu focal/main amd64 Packages

有没有无需彻底删除并重新安装所有内容的解决方案?

谢谢!

** 更新1

我正在运行 20.04.6 LTS。大约半年前我将其从 18.04 更新到 20.04。

lsb_release -d
Description:    Ubuntu 20.04.6 LTS

并且我的 apt 源除了 php 包(ondrej)之外全部来自 ubuntu.com 档案。

答案1

包裹mysql 客户端和 mysql 服务器有未满足的依赖关系和/或已损坏。

为了解决这个问题,

按照步骤(需要重新安装 mysql-client 和 mysql-server,这是我在系统中修复此问题的方法

首先使用 aptitude(包管理器)修复未满足的依赖关系问题

sudo apt install aptitude

sudo aptitude install mysql-server

sudo aptitude install mysql-client

接受最后两个步骤的确认以删除这些冲突的包。

现在mysql-client和都mysql-server将被删除。执行更新。

sudo apt update && sudo apt upgrade

安装mysql 客户端

sudo apt install mysql-client-core-8.0 

安装mysql 服务器:

sudo apt install mysql-server

跑步sudo systemctl start mysql.service

如果它说Failed to start mysql.service: Unit mysql.service is masked.

mysql.service需要使用sudo systemctl unmask mysql.service

现在sudo systemctl start mysql.service再次运行。

使用以下方法检查 mysql.service 的状态sudo systemctl status mysql.service

它应该显示活动:活动(运行)

这应该可以解决问题。希望有帮助!

相关内容