我尝试遵循官方指导在全新的 Debian 安装上安装 MySQL。
所以我去了https://dev.mysql.com/downloads/repo/apt/,下载mysql-apt-config_0.8.13-1_all.deb,
运行安装程序选项
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
...哪个似乎工作(尽管有警告):
(正在读取数据库...当前安装的32947个文件和目录。)
准备解压 mysql-apt-config_0.8.13-1_all.deb ...
解压 mysql-apt-config (0.8.13-1) over (0.8.13-1) …
设置 mysql-apt-config (0.8.13-1) …
警告:apt-key 不应在脚本中使用(从 mysql-apt-config 包的 postinst 维护者脚本中调用)
OK
我做我的
sudo apt update
这似乎又给出了合理的输出:
获得:1http://security.debian.org/debian-securitybuster/更新 InRelease [39.1 kB]
点击:2http://deb.debian.org/debian巴斯特 InRelease
获取:3http://deb.debian.org/debianbuster-updates InRelease [49.3 kB]
点击:4http://repo.mysql.com/apt/debian破坏者 发布
命中:5https://packages.microsoft.com/debian/10/prodbuster InRelease
在 1 秒内获取 88.4 kB (85.1 kB/s)
读取软件包列表...完成
构建依赖关系树
读取状态信息...完成
所有软件包都是最新的。
当我进入第 2 步时,事情开始出错,因为运行
sudo apt-get install mysql-server
失败并输出:
正在读取包列表...已完成
构建依赖关系树
正在读取状态信息...已完成
包 mysql-server 不可用,但被另一个包引用。
这可能意味着该软件包丢失、已过时或只能从其他来源获得E:软件包“mysql-server”没有安装候选者
那么我做错了什么导致它无法工作呢?
我检查过/etc/apt/sources.list.d/mysql.list
,这看起来很合理:
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out entries below, but any other modifications may be lost.
# Use command 'dpkg-reconfigure mysql-apt-config' as root for modifications.
deb http://repo.mysql.com/apt/debian/ buster mysql-apt-config
deb http://repo.mysql.com/apt/debian/ buster mysql-8.0
deb http://repo.mysql.com/apt/debian/ buster mysql-tools
#deb http://repo.mysql.com/apt/debian/ buster mysql-tools-preview
deb-src http://repo.mysql.com/apt/debian/ buster mysql-8.0
的输出 apt-cache policy mysql-server
是
mysql-server:
Installed: (none)
Candidate: (none)
Version table:
答案1
他们的存储库因您的请求而损坏。
比较这个文件(0k):
http://repo.mysql.com/apt/debian/dists/buster/mysql-8.0/binary-i386/Packages
对于这个(26k):
http://repo.mysql.com/apt/debian/dists/buster/mysql-8.0/binary-amd64/Packages
或者这个(3k):
http://repo.mysql.com/apt/debian/dists/buster/mysql-tools/binary-i386/Packages
即:第一个“Packages”文件为空;这不正常:https://wiki.debian.org/DebianRepository/Format#A.22Packages.22_Indices
答案2
要安装 Debian 提供的软件包,请删除从 dev.mysql.com 安装的存储库,然后此命令应该可以工作:
apt install mariadb-server mariadb-client
MariaDB 是非 Oracle MySQL 的新名称。
如果您更喜欢使用 Oracle MySQL,那么您只需获取要安装的版本的正确包名称即可。检查输出以apt search mysql-server
查看可用的内容(在其包装中,他们似乎将版本作为名称的一部分)。
答案3
这对我在巴斯特有用:
apt-get install default-mysql-server