在 Ubuntu Server 24.04 (Noble Numbat) 上安装 MySQL 8.0.45,首先需要说明一个关键的技术细节:
Ubuntu 24.04 的官方默认软件源(Official Repositories)中,MySQL 的版本通常是 8.0.39 或更新的稳定版,但极大概率不包含特定的 8.0.45 版本。 官方源通常只推送最新的“小版本”(Point Release),而不会立即包含所有未来的补丁版本。
因此,要安装确切的 8.0.45,最稳妥的方法是通过 Oracle 官方 YUM/APT 仓库 进行安装。以下是详细的操作步骤:
前置准备
-
更新系统包列表:
sudo apt update && sudo apt upgrade -y -
安装必要的依赖工具:
我们需要curl,gnupg,apt-transport-https等工具来添加 Oracle 的密钥和仓库。sudo apt install -y curl gnupg lsb-release software-properties-common
步骤一:添加 Oracle MySQL APT 仓库
我们需要下载 Oracle 提供的 GPG 密钥和仓库配置脚本。
-
下载并导入 GPG 密钥:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb注意:在安装过程中,如果弹出交互式菜单询问 "MySQL version",请务必选择 MySQL 8.0(通常按 Tab 键切换,Enter 确认)。
重要提示:如果上述
.deb包下载失败或版本过旧导致无法选择特定子版本,我们可以手动编辑配置文件。请继续执行以下步骤。 -
手动指定 MySQL 8.0 版本(确保选中 8.0):
运行以下命令编辑配置:sudo nano /etc/apt/sources.list.d/mysql.list确保文件内容类似如下(如果是空的,请添加):
deb [arch=amd64,arm64] http://repo.mysql.com/apt/ubuntu noble/ mysql-8.0(注:
noble是 Ubuntu 24.04 的代码名)保存并退出 (
Ctrl+O,Enter,Ctrl+X)。
步骤二:更新源并查找可用版本
由于官方源可能不直接列出 8.0.45,我们需要先更新缓存,然后查看该版本是否已发布到仓库中。
sudo apt update
查看可用的 MySQL 8.0 版本:
apt list -a mysql-server | grep 8.0
- 情况 A:如果你看到
mysql-server/8.0.45在列表中,直接跳到步骤三。 - 情况 B:如果你看到的最新版本是
8.0.39或其他更早版本,说明 Oracle 尚未将 8.0.45 推送到 Ubuntu 24.04 的通用仓库,或者该版本尚未正式发布。
关于版本的现实情况:截至当前时间,MySQL 8.0.45 可能尚未作为 GA (General Availability) 版本发布到公共仓库,或者刚刚发布。如果
apt找不到该具体版本号,你只能安装最新的 8.0.x 版本,或者等待 Oracle 更新仓库。
假设仓库中已有 8.0.45(或你需要强制安装最新可用版):
步骤三:安装 MySQL 服务器
如果 apt 能识别到目标版本,执行以下命令:
# 尝试安装特定版本 (如果 apt 支持精确版本锁定)
sudo apt install mysql-server=8.0.45-1ubuntu*
# 如果不确定后缀,直接安装最新版(推荐用于生产环境,除非必须 8.0.45)
sudo apt install mysql-server
安装过程中会要求设置 root 密码。
- 如果使用
validate_password插件(默认开启),密码必须满足复杂度要求(长度、大小写、数字、特殊字符)。 - 如果你需要简化安装(例如本地测试),可以在安装前临时禁用验证策略(见下文“高级配置”)。
步骤四:验证安装
安装完成后,检查版本:
mysql --version
# 或者进入命令行
mysql -u root -p
SELECT VERSION();
常见问题与替代方案
1. 如果 apt 中没有 8.0.45 怎么办?
如果官方源没有该版本,你有两个选择:
- 等待:Oracle 通常在发布后几天内同步到各发行版的 APT 源。
- 使用 Docker:这是获取确切版本最快的方法。
docker run -d --name mysql-8.0.45 -e MYSQL_ROOT_PASSWORD=yourpassword -p 3306:3306 mysql:8.0.45(注意:Docker Hub 上的标签需确认是否有 8.0.45,如果没有,可能需要拉取
mysql:8.0并手动指定 tag,或者构建镜像)
2. 如何跳过密码复杂度验证?
如果你不想设置复杂的密码,可以在安装前修改配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
在 [mysqld] 部分添加或修改:
[mysqld]
default-authentication-plugin=mysql_native_password
validate-password.policy=LOW
validate-password.length=6
然后重启服务:
sudo systemctl restart mysql
3. 防火墙设置
Ubuntu 24.04 默认可能开启了 UFW。如果需要远程连接,请放行 3306 端口:
sudo ufw allow 3306/tcp
总结
在 Ubuntu 24.04 上安装 MySQL 8.0.45 的标准流程是通过 Oracle APT 仓库 进行。但由于软件源的延迟性,请务必先运行 apt list -a mysql-server 确认该特定版本是否存在于源中。如果不存在,建议直接使用 Docker 部署该特定版本,以获得最灵活的控制权。
云服务器