在 Ubuntu Server 24.04 (Noble Numbat) 上安装 MySQL 8.0.45 需要特别注意:Ubuntu 24.04 的官方软件源(APT)中默认提供的 MySQL 版本通常是 8.0.x 的最新稳定版,但不一定恰好是 8.0.45。
如果官方源中没有 8.0.45,通常建议直接安装官方源提供的最新版(因为 8.0.45 发布后不久,Ubuntu 源就会更新),或者手动添加 Oracle 官方 YUM/RPM 仓库(对于 Debian/Ubuntu 系需使用 .deb 包)。
以下是两种最推荐的方案:
方案一:通过官方 APT 仓库安装(推荐,最稳定)
这是最简单且维护成本最低的方法。Ubuntu 24.04 的官方源会定期同步 MySQL 的最新安全补丁和版本。如果 8.0.45 已发布并推送到 Oracle 官方源,Ubuntu 源很快也会包含它。
1. 下载并添加 Oracle 官方 GPG 密钥与仓库
首先,我们需要从 Oracle 官网获取最新的 .deb 包配置脚本,而不是依赖 Ubuntu 自带的旧源。
# 下载 MySQL APT 配置工具
wget https://dev.mysql.com/get/mysql-apt-config_0.8.31-1_all.deb
# 安装配置工具 (如果提示选择版本,请选择 MySQL 8.0)
sudo dpkg -i mysql-apt-config_0.8.31-1_all.deb
# 注意:在安装过程中会弹出一个界面让你选择 MySQL 版本。
# 确保选中 "MySQL Server & Cluster (Default)" 或明确指定 8.0。
# 如果你已经安装了其他版本,可能需要先运行 sudo apt-get update 来刷新列表。
如果上述步骤无法直接指定 8.0.45,请继续执行下一步查看具体版本。
2. 更新软件源并查找可用版本
sudo apt-get update
apt-cache policy mysql-server
查看输出中的 Available 字段。如果显示的是 8.0.45,则直接安装;如果显示的是 8.0.46 或其他版本,说明 8.0.45 可能已被新版本覆盖,或者你需要手动下载特定版本的 .deb 包(见方案二)。
3. 安装 MySQL Server
sudo apt-get install mysql-server
4. 初始化并设置 root 密码
安装完成后,MySQL 会自动创建 root 账户。首次登录时,root 用户使用的是随机生成的临时密码,存储在日志文件中。
# 查看临时密码
sudo cat /var/log/mysql/error.log | grep 'temporary password'
然后使用 mysql_secure_installation 进行安全加固(修改 root 密码、移除匿名用户等):
sudo mysql_secure_installation
方案二:手动安装特定版本 8.0.45(精确控制)
如果你必须使用 8.0.45 这个确切版本(例如为了兼容性测试),而官方源提供的是更新的版本,你需要手动下载对应的 .deb 包并安装。
1. 下载对应架构的 .deb 包
访问 MySQL Downloads,选择 Linux – Generic (glibc 2.28) (适用于 Ubuntu 24.04),找到 Version 8.0.45。
你需要下载以下两个核心包(以 amd64 为例):
mysql-server-core-8.0_8.0.45-1ubuntu24.04_amd64.deb(核心服务)mysql-server_8.0.45-1ubuntu24.04_amd64.deb(服务端元数据)
注:具体的包名后缀(如 -1ubuntu24.04)取决于构建者。如果是通用 Linux 版本,后缀可能是 -1。请根据实际下载的链接确认。
你可以使用 wget 下载(假设你已获取到正确的 URL):
cd /tmp
# 示例 URL,请替换为实际的下载链接
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-server-core-8.0_8.0.45-1ubuntu24.04_amd64.deb
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-server_8.0.45-1ubuntu24.04_amd64.deb
2. 安装依赖并解压安装
由于手动安装可能会遇到依赖问题,建议先安装依赖,再使用 dpkg 安装:
# 尝试修复依赖
sudo apt-get install -f
# 安装 deb 包 (使用 * 通配符匹配当前目录下的包)
sudo dpkg -i *.deb
# 再次尝试修复依赖(非常重要,解决缺失的库文件)
sudo apt-get install -f
3. 启动服务
sudo systemctl start mysql
sudo systemctl enable mysql
4. 验证版本
mysql --version
# 或者进入客户端查看
mysql -u root -p -e "SELECT VERSION();"
常见问题与注意事项
-
关于默认认证插件:
MySQL 8.0 默认使用caching_sha2_password认证插件。如果你连接数据库的工具(如旧版 Navicat, Python 驱动等)不支持此插件,可能会报错。
解决方法:可以在安装后修改配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,将[mysqld]下的default-authentication-plugin设置为mysql_native_password,然后重启服务。但在新版 Ubuntu 上,建议优先升级你的客户端工具。 -
防火墙设置:
Ubuntu 24.04 默认开启 UFW。如果远程无法连接,请放行 3306 端口:sudo ufw allow 3306/tcp -
为什么推荐方案一?
除非有强制的兼容性要求,否则强烈建议使用方案一。手动安装特定版本(方案二)会导致系统无法通过apt upgrade自动接收后续的安全补丁,增加维护风险。如果官方源只有 8.0.46,通常建议直接使用 8.0.46,除非 8.0.45 有特定的 Bug 修复需求。
总结:先尝试方案一(Oracle APT 源),这是 Ubuntu 24.04 的标准做法。只有在确知必须锁定 8.0.45 且官方源未提供时,才使用方案二手动下载 .deb 包。
云计算HECS