我是在ubuntu 20.04中安装mysql时遇到错误如下:

The following packages have unmet dependencies:
 mysql-community-client-plugins : Depends: libssl1.1 (>= 1.1.1) but 1.1.0g-2ubuntu4 is to be installed
E: Unable to correct problems, you have held broken packages.

可能是我不小心使用命令行卸载了

apt remove  libmysqlclient21:amd64

这个时候需要手动安装libssl。可以参考:https://blog.csdn.net/weixin_40932028/article/details/109580216

官网地址:https://packages.ubuntu.com/bionic/amd64/libssl1.1/download

wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb
sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb

 

依赖问题的正确解法

报错信息显示系统里装着 bionic(18.04)版本的 libssl1.1(1.1.0g),而 focal(20.04)本应是 1.1.1f——说明源被混杂或该包被手动降级过,apt 的版本解析随之混乱。

  • 先看有没有被挂起的包:apt-mark showhold,有的话 apt-mark unhold 全部解除;
  • 确认 /etc/apt/sources.list 只保留 focal 系列源,清掉 bionic 残留行后 apt update;
  • 重装正确版本:apt install --reinstall libssl1.1;
  • 装 MySQL 建议直接用官方 MySQL APT Repository,依赖链由官方源保证,比散装 deb 稳得多。