无法通过apt-get安装旧版本的MySQL

Pet*_*jan 3 mysql package-management apt dpkg

我在 Ubuntu 16.04 上安装了 MySQL 5.7。我需要为我正在处理的项目安装 5.6,所以我尝试删除 5.7,然后使用官方说明,但它一直安装 5.7 而不是 5.6

https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#repo-qg-apt-select-series

我在运行时选择了 5.6 sudo dpkg-reconfigure mysql-apt-config,然后我运行,sudo apt-get install mysql-server但它立即开始拉低 5.7。我sudo apt-get update之前和之后跑了很多次。

如果我运行,sudo apt-cache showpkg mysql-server我会得到以下信息(为简洁起见,删除了内容):

Provides: 
5.7.13-0ubuntu0.16.04.2 - 
5.7.11-0ubuntu6 - 
5.6.32-1ubuntu16.04 -
Run Code Online (Sandbox Code Playgroud)

酷,所以看起来我可以安装 5.6.32 我猜?我尝试:

sudo apt-get install mysql-server=5.6.32

但后来我得到:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Version '5.6.32' for 'mysql-server' was not found
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

这似乎是一个通用的 Ubuntu 问题,而不是一个特定的 MySQL 问题,这就是我在这里问的原因。

Pet*_*jan 5

哦,这是另一个 RTFM 案例。

我需要提供完整的包名才能使其工作:

sudo apt-get install mysql-server=5.6.32-1ubuntu16.04
Run Code Online (Sandbox Code Playgroud)

  • @dibs 你的`sudo apt-cache showpkg mysql-server` 的输出是什么? (2认同)