由于 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
它应该显示活动:活动(运行)
这应该可以解决问题。希望有帮助!