我刚刚从 19.10 升级到 20.04。一切顺利,但我遇到了 mysql 问题。以下是当前安装的软件包:
$ dpkg -l | grep mysql
ii libmysqlclient21:amd64 8.0.20-0ubuntu0.20.04.1 amd64 MySQL database client library
ii mysql-apt-config 0.8.15-1 all Auto configuration for MySQL APT Repo.
ii mysql-common 8.0.19-1ubuntu19.10 amd64 Common files shared between packages
ii php-mysql 2:7.4+75 all MySQL module for PHP [default]
ii php7.4-mysql 7.4.3-4ubuntu1.1 amd64 MySQL module for PHP
我需要安装mysql-server
才能使用该mysql
命令。但是:
mysql-server 依赖 mysql-server-8.0 但不会安装
尝试安装mysql-server-8.0
:
mysql-server 依赖 mysql-client-8.0 但不会安装
尝试安装mysql-client-8.0
:
mysql-client-8.0 :依赖 mysql-common (>= 5.5)
但是我使用的mysql-common
是 8.0.19 版本,所以依赖性应该满足!我也尝试过删除它mysql-common
以便再次安装它,但它会删除我系统的一半:
colord gnome-control-center hplip libhpmud0 libmysqlclient21 libsane libsane-hpaio libsnmp35 mysql-common 打印机驱动程序-hpcups sane-utils ubuntu-desktop ubuntu-desktop-minimal
我也尝试过:
sudo apt-get autoclean
sudo apt-get update
sudo apt-get install --reinstall mysql-server
我该如何解决这种情况?
更新
$ sudo apt install mysql-server-8.0
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
Alcuni pacchetti non possono essere installati. Questo può voler dire
che è stata richiesta una situazione impossibile oppure, se si sta
usando una distribuzione in sviluppo, che alcuni pacchetti richiesti
non sono ancora stati creati o sono stati rimossi da Incoming.
Le seguenti informazioni possono aiutare a risolvere la situazione:
I seguenti pacchetti hanno dipendenze non soddisfatte:
mysql-server-8.0 : Pre-dipende: mysql-common (>= 5.5)
Dipende: mysql-client-8.0 (>= 8.0.20-0ubuntu0.20.04.1) ma non sta per essere installato
Dipende: mysql-common (>= 5.8+1.0.4~)
E: Impossibile correggere i problemi, ci sono pacchetti danneggiati bloccati.
答案1
检查我收到的有问题的包裹的政策:
$ apt policy mysql-common
mysql-common:
Installato: 8.0.19-1ubuntu19.10
Candidato: 8.0.19-1ubuntu19.10
Tabella versione:
*** 8.0.19-1ubuntu19.10 100
100 /var/lib/dpkg/status
5.8+1.0.5ubuntu2 500
500 http://it.archive.ubuntu.com/ubuntu focal/main amd64 Packages
500 http://it.archive.ubuntu.com/ubuntu focal/main i386 Packages
因此我猜测升级到 20.04 时出了点问题。我删除了这个包(以及所有其他相关包),如下所示:
sudo apt remove mysql-common
然后上面相同的命令返回:
$ apt policy mysql-common
mysql-common:
Installato: (nessuno)
Candidato: 5.8+1.0.5ubuntu2
Tabella versione:
8.0.19-1ubuntu19.10 -1
100 /var/lib/dpkg/status
5.8+1.0.5ubuntu2 500
500 http://it.archive.ubuntu.com/ubuntu focal/main amd64 Packages
500 http://it.archive.ubuntu.com/ubuntu focal/main i386 Packages
再次安装已删除的软件包(现在来自源focal
,而不是 19.04):
sudo apt install mysql-server ubuntu-desktop-minimal
解决了这个问题。