在 Ubuntu 24.04 LTS(Noble Numbat)上安装 MySQL,最推荐且最稳定的方式是通过官方 APT 仓库安装。虽然 Ubuntu 自带的 apt 源中可能包含较旧的版本,但通过官方脚本可以获取最新的稳定版(如 MySQL 8.0 或 9.0)。
以下是完整的安装步骤:
1. 更新系统并安装依赖
首先更新软件包列表,并安装必要的工具(如 curl、gnupg 和 ca-certificates)。
sudo apt update && sudo apt upgrade -y
sudo apt install curl gnupg ca-certificates -y
2. 添加 MySQL 官方 APT 仓库
我们需要下载 MySQL 官方的 GPG 密钥和仓库配置文件。MySQL 官方提供了自动化的脚本来完成这一步。
运行以下命令(以获取最新版为例,脚本会自动检测最新版本):
# 下载 MySQL 官方仓库配置脚本
wget https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
# 安装该 deb 包
# 注意:在安装过程中会弹出一个交互式菜单让你选择 MySQL 版本
# 建议使用方向键选择 "MySQL Server & Cluster" (通常默认是最新稳定版),然后按回车确认
sudo dpkg -i mysql-apt-config_0.8.32-1_all.deb
# 如果交互菜单未弹出或需要强制指定版本,可手动编辑 /etc/apt/sources.list.d/mysql.list
# 确保其中包含类似:deb http://repo.mysql.com/apt/ubuntu noble/ ...
提示:如果你不想处理交互菜单,也可以直接修改
/etc/apt/sources.list.d/mysql.list文件,将focal改为noble(Ubuntu 24.04 代号),并确保版本号指向最新。
3. 更新软件包索引并安装 MySQL
重新加载 APT 索引,现在它应该能识别到官方仓库中的最新版本了。
sudo apt update
sudo apt install mysql-server -y
安装过程中,系统可能会询问是否设置 root 密码。
- 如果你希望手动设置强密码,请选择
mysql_native_password或caching_sha2_password(新版默认)。 - 如果你使用云服务商提供的安全组或后续通过命令行重置,也可以先跳过,稍后配置。
4. 初始安全配置(可选但推荐)
安装完成后,建议运行安全加固脚本,移除匿名用户、禁止远程 root 登录等。
sudo mysql_secure_installation
按照提示操作:
- 输入当前 root 密码(如果是刚安装,可能需要直接回车或通过插件验证)。
- 切换密码插件(建议保持默认的
caching_sha2_password)。 - 删除匿名用户?(Y)
- 禁止 root 远程登录?(Y)
- 删除测试数据库?(Y)
- 重载权限表?(Y)
5. 验证安装状态
检查 MySQL 服务是否正在运行以及版本信息。
# 查看服务状态
sudo systemctl status mysql
# 查看版本
mysql --version
# 或者进入命令行查看
mysql -u root -p -e "SELECT VERSION();"
6. 配置防火墙(云服务器关键步骤)
如果你的云服务器开启了防火墙(如 ufw),需要开放 3306 端口以便外部连接(仅限必要场景,生产环境建议仅允许特定 IP 访问)。
# 启用 ufw (如果尚未启用)
sudo ufw enable
# 允许 3306 端口(谨慎操作,建议限制来源 IP)
sudo ufw allow from <你的客户端IP> to any port 3306
# 或者直接允许所有(不推荐用于公网)
# sudo ufw allow 3306
常见问题与补充
- 关于 MySQL 9.0:截至 2024 年,MySQL 9.0 处于早期预览阶段。如果你必须使用“绝对最新版”的 GA(一般可用)版本,通常是 MySQL 8.0 的最新小版本(如 8.0.3x+)。上述步骤安装的是官方仓库中最新的 GA 版本。
- 忘记 root 密码:如果忘记密码,可以通过跳过授权表的方式重置(需停止服务,使用
mysqld_safe --skip-grant-tables启动)。 - 云厂商特例:部分云厂商(如阿里云、腾讯云)的镜像源中可能预装了优化版的 MySQL。如果你使用的是自定义镜像,上述方法依然适用,因为官方 APT 源的优先级通常高于厂商定制源。
通过以上步骤,你已经在 Ubuntu 24.04 上成功部署了官方最新的 MySQL 数据库。
轻量云Cloud