Ubuntu 24.04 默认 apt install mysql-server 安装的是 MariaDB 11.4,因官方仓库已将该包名重定向;MySQL 8.4 需通过 Oracle 提供的适配 24.04 的 DEB Bundle 手动安装,并修复 libaio 符号链接等依赖问题。

Ubuntu 24.04 默认 apt install mysql-server 安装的是 MariaDB 11.4,不是 MySQL;想装 MySQL 8.4,必须绕过默认源,用 Oracle 官方方式——但官方尚未发布适配 24.04 的 APT 仓库,所以只能手动安装 DEB Bundle 或降级系统。
为什么 apt install mysql-server 装不到 MySQL 8.4
Ubuntu 24.04(代号 Noble Numbat)已将 mysql-server 包名重定向至 mariadb-server。执行该命令后:
- 实际启动的是
mariadb进程,监听/var/run/mysqld/mysqld.sock但底层是 MariaDB - 配置路径为
/etc/mysql/mariadb.conf.d/,与 MySQL 不兼容 -
mysql --version输出类似mysql Ver 11.4.4-MariaDB,而非8.4.x
用 DEB Bundle 手动安装 MySQL 8.4.7(推荐实操路径)
Oracle 官方已提供适配 24.04 的 mysql-server_8.4.7-1ubuntu24.04_amd64.deb-bundle.tar,这是目前最稳妥的离线安装方式。
- 下载:
wget https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-server_8.4.7-1ubuntu24.04_amd64.deb-bundle.tar - 解压:
tar -xvf mysql-server_8.4.7-1ubuntu24.04_amd64.deb-bundle.tar - 先装依赖:
sudo apt install -y libmecab2 libaio1t64 libnuma1(注意:不是libaio1,24.04 已改名) - 按依赖顺序安装(关键顺序不能错):
sudo dpkg -i mysql-common_8.4.7-1ubuntu24.04_amd64.debsudo dpkg -i mysql-community-client-plugins_8.4.7-1ubuntu24.04_amd64.debsudo dpkg -i mysql-community-client-core_8.4.7-1ubuntu24.04_amd64.debsudo dpkg -i mysql-community-client_8.4.7-1ubuntu24.04_amd64.debsudo dpkg -i mysql-community-server-core_8.4.7-1ubuntu24.04_amd64.debsudo dpkg -i mysql-community-server_8.4.7-1ubuntu24.04_amd64.deb - 修复依赖:
sudo apt --fix-broken install -y
mysqld 启动失败常见原因和修复
即使所有包装完,systemctl start mysql 仍可能报错退出,最典型的是:
-
error while loading shared libraries: libaio.so.1: cannot open shared object file—— 因为libaio1t64提供的是libaio.so.1.0.1,而 MySQL 二进制仍硬链接旧名;需补符号链接:sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1.0.1 /usr/lib/x86_64-linux-gnu/libaio.so.1 -
Can't start server: Bind on TCP/IP port: Address already in use—— 检查是否残留 MariaDB 进程:sudo systemctl stop mariadb、sudo systemctl disable mariadb - 首次启动后 root 密码为空或随机生成,查看日志:
sudo grep 'temporary password' /var/log/mysql/error.log
DEB Bundle 安装后,配置文件在 /etc/mysql/mysql.conf.d/mysqld.cnf,数据目录是 /var/lib/mysql;但要注意:MySQL 8.4.7 的 debian-start 初始化脚本在 24.04 上可能卡住,建议首次启动后立即运行 sudo mysql_secure_installation 完成基础加固——这步漏掉会导致 root 默认允许本地 socket 登录且无密码。


















