我是在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 稳得多。