Package mysql-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
mariadb-server:armhf mariadb-server
这个错误信息并不是 MySQL 安装出了问题,而是 Debian 系统在告诉你一个重要变化:在 Debian 的官方软件源中,已经用 MariaDB 彻底替代了原始的 Oracle MySQL。
这并不是系统出了故障,而是一种设计。简单来说,你运行 apt install mysql-server 时,系统会告诉你:官方源里已经没有 mysql-server 这个包了,它的功能已经被 mariadb-server 接替了。
💡 解决方案:二选一
你可以根据自己的需求,选择以下两种方案中的一种来安装数据库。
方案一:安装默认的 MariaDB (简单省心)
这是 Debian 官方最推荐、也是最省事的方式。MariaDB 与 MySQL 完全兼容,你日常使用的命令、程序连接方式都和 MySQL 一模一样。
bash
# 直接安装默认的数据库服务器
sudo apt update
sudo apt install default-mysql-server -y
安装完成后,你可以用以下命令验证并初始化它:
bash
# 检查服务状态
sudo systemctl status mariadb
# 运行安全配置脚本(强烈建议!这会让你设置root密码等)
sudo mysql_secure_installation
# 登录测试(密码是你在上一步设置的)
sudo mysql -u root -p
方案二:安装Oracle官方版MySQL (追求原版)
如果你的项目明确要求必须使用 Oracle 公司提供的原版 MySQL,那么就需要像我们之前讨论的那样,添加 MySQL 官方仓库来解决密钥过期的问题。
bash
# 1. 修复MySQL官方源的密钥
wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb
# 2. 更新软件源
sudo apt update
# 3. 现在就可以安装 MySQL 服务器了
sudo apt install mysql-server -y
💎 总结与建议
首选方案一:对于绝大多数个人网站、博客或普通项目,直接安装 default-mysql-server 是最佳选择。它等于 MariaDB,不仅稳定、性能好,而且与 MySQL 完全兼容,省掉了添加第三方仓库和手动修复密钥的麻烦。
备选方案二:只有当你需要用到 Oracle MySQL 的特定商业功能,或者你的应用在说明文档中明确强调“必须使用 Oracle MySQL”时,才推荐选择方案二。
如果你没有特别的理由,直接执行方案一就能很好地解决问题。