![无法在 Ubuntu 19.04 上安装 MySQL 8](https://linux22.com/image/914354/%E6%97%A0%E6%B3%95%E5%9C%A8%20Ubuntu%2019.04%20%E4%B8%8A%E5%AE%89%E8%A3%85%20MySQL%208.png)
我正在使用 Ubuntu 19.04,下载了 MySQL APT 配置 8.13 版本,并运行了以下命令
wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
dpkg -i mysql-apt-config_0.8.13-1_all.deb
我检查了mysql.list
使用
vi /etc/apt/sources.list.d/mysql.list
发现版本 8 已配置。然后我运行
apt install mysql-server
apt-cache show mysql-server
apt update
但我仍然无法安装 MySQL 8。APT 仍然指向 5.7。
答案1
我猜想是 apt 内部出了问题,等待 24 小时后一切都清楚了,并自行重新设置基准。与之前一样,大多数(但不是全部)apt 和 ubuntu 工具在执行以下操作后显示 mysql-8.0 是默认设置dpkg-i mysql-8.13(不是实际的包名称)。
我今天回去了(还不到 24 小时),现在尝试安装 mysql-server,显示了我期望看到的内容:
root@mrserver:~# apt-get install mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libmecab2 mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client mysql-common mysql-community-client mysql-community-client-core mysql-community-server mysql-community-server-core
The following NEW packages will be installed:
libmecab2 mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client mysql-common mysql-community-client mysql-community-client-core mysql-community-server mysql-community-server-core mysql-server
0 upgraded, 11 newly installed, 0 to remove and 1 not upgraded.
Need to get 23.1 MB/30.1 MB of archives.
After this operation, 295 MB of additional disk space will be used.
Do you want to continue? [Y/n]
答案2
APT 维护着一个软件包列表/var/lib/apt/列表询问时会下载。上述文件夹中的文件通常是正在发布文件或发布包含此类信息的文件。根据Debian 存储库/格式 - Debian 维基:
要从存储库下载软件包,apt 将下载正在发布或者发布文件来自$ARCHIVE_ROOT/dists/$DISTRIBUTION目录。
正在发布文件在线签名,同时发布文件应该有随附发布版本.gpg文件。
这发布文件列出了分配及其哈希值(列出的索引文件与发布文件位置)。
要下载主要组件的索引,apt 将扫描 Release 文件以查找主目录中文件的哈希值。例如。http://ftp.cz.debian.org/debian/dists/testing/main/binary-i386/Packages.bz2将会列在http://ftp.cz.debian.org/debian/dists/testing/main/Release作为二进制-i386/软件包.bz2
对于 MySQL 来说,正在发布迪斯科文件尽管包含所需的详细信息但这包装信息/mysql-8.0/binary-amd64/是空的。这是导致底层问题的主要原因。这不是 MySQL 第一次做这样的事情。类似问题发生在6个月前,即2019年4月。
看了情况后,似乎MySQL想非 LTS 版本将获得 6 个月的支持或者希望用户尽快升级到最新的非 LTS。如果他们在 2020 年 4 月删除 19.10 的软件包信息,我不会感到惊讶。
不过,MySQL 版本仍然可以下载和安装但通过使用 Bionic (18.04) 或 Eoan (19.10) 的存储库信息。它将安装 MySQL 版本 8.0 而不会破坏系统。我假设您已经安装了 mysql-apt-config deb 包,它会创建mysql.列表
如果要使用 18.04 的存储库信息
sudo sed -i 's/disco/bionic/g' /etc/apt/sources.list.d/mysql.list
如果要使用 19.10 的存储库信息
sudo sed -i 's/disco/eoan/g' /etc/apt/sources.list.d/mysql.list
然后最后运行
sudo apt update
sudo apt install mysql-server
这取决于你是否愿意保留其他版本存储库信息。保留它也不会损害您的系统。
答案3
最后,我通过更新到 19.10 解决了这个问题,然后默认的 mySQL 安装是 v 8.0。