在 Linux 服务器上安装 MySQL 8.0,需满足以下核心系统要求(以主流发行版为例):
1. 操作系统兼容性
MySQL 8.0 官方支持以下 Linux 发行版(具体版本需参考 MySQL 官方文档):
- RHEL / CentOS / Rocky Linux / AlmaLinux:7.x、8.x、9.x
(注意:CentOS 7 已停止维护,建议优先使用 RHEL 8+ 或替代方案如 Rocky/Alma) - Ubuntu:20.04 LTS、22.04 LTS、24.04 LTS
- Debian:10 (Buster)、11 (Bullseye)、12 (Bookworm)
- SUSE Linux Enterprise Server (SLES):15 SP3+
- Oracle Linux:7.9、8.4+、9.0+
✅ 建议:生产环境优先选择长期支持(LTS)版本;避免使用已 EOL 的系统(如 Ubuntu 18.04、CentOS 7)。
2. 硬件资源
| 项目 | 最低要求 | 推荐配置(小型生产环境) |
|---|---|---|
| CPU | 1 核 | ≥4 核(主频 ≥2.0 GHz) |
| 内存 | 512 MB | ≥4 GB(SSD + 大内存更优) |
| 磁盘空间 | 6 GB(仅二进制文件) | ≥50 GB(含数据、日志、备份),强烈建议使用 SSD/NVMe |
| 文件系统 | ext4、XFS、Btrfs 等主流类型 | 禁用 ZFS(除非有专门优化经验) |
⚠️ 注意:
tmpdir应指向高速存储(如/dev/shm或独立 SSD 分区),避免放在机械硬盘。- 若启用 InnoDB Buffer Pool,需预留足够 RAM(通常设为物理内存的 50%~70%)。
3. 软件依赖与工具链
- glibc:≥2.17(对应 CentOS 7+/Ubuntu 18.04+)
-
libaio(异步 I/O 库):必需,用于 InnoDB 性能优化
# CentOS/RHEL sudo yum install libaio # Ubuntu/Debian sudo apt install libaio1 - Python 3(可选):部分脚本或工具(如
mysql-shell)需要 Python ≥3.6 - SELinux:默认启用时需配置策略规则(可临时设为 permissive 测试)
4. 安全与网络要求
- 防火墙开放端口:3306(TCP),仅限可信 IP 访问(生产环境严禁暴露公网)
- 用户权限:安装过程需
root或具备sudo权限 - 时间同步:确保系统时间准确(NTP/Chrony),避免事务冲突
5. 特殊注意事项
- 字符集默认值变更:MySQL 8.0 默认
utf8mb4+utf8mb4_0900_ai_ci,旧应用需验证兼容性。 - 密码插件升级:默认使用
caching_sha2_password,客户端需支持(MySQL Connector/J ≥8.0.23 等)。 - 内核参数调优(生产环境推荐):
# /etc/sysctl.conf 添加 vm.swappiness = 1 net.core.somaxconn = 1024 fs.file-max = 65535执行
sysctl -p生效。
安装前检查清单
# 1. 确认系统版本
cat /etc/os-release
# 2. 检查可用内存与磁盘
free -h && df -hT
# 3. 安装必要依赖
yum install -y wget curl gnupg2 lsb-release libaio # CentOS/RHEL
apt update && apt install -y wget curl gnupg2 libaio1 # Debian/Ubuntu
# 4. 验证 glibc 版本
ldd --version
如需具体某发行版的安装步骤(如 Ubuntu 22.04 APT 源配置、RHEL YUM Repository 设置),我可提供详细命令。是否需要?
CLOUD技术博