MySQL 8.0 在 Linux 服务器上的安装和运行需要满足一定的系统要求,以下是详细的 最低配置建议 和 推荐配置,适用于大多数生产或开发环境:
✅ 一、基本系统要求(适用于大多数发行版)
📌 操作系统支持(常见 Linux 发行版):
- Red Hat Enterprise Linux (RHEL) 7.x/8.x
- CentOS 7.x/8.x
- Oracle Linux 7.x/8.x
- SUSE Linux Enterprise Server (SLES) 12 SP5 / 15 SP2+
- Ubuntu 18.04 LTS / 20.04 LTS / 22.04 LTS
- Debian 9/10
注意:不同版本的 MySQL 可能对内核版本有不同要求。建议使用较新的内核。
✅ 二、硬件要求
🔹 最低配置(适合测试/小型应用):
| 组件 | 要求 |
|---|---|
| CPU | 1 核(1GHz 或更高) |
| 内存 (RAM) | 2GB |
| 磁盘空间 | 至少 5GB(不含数据) |
🔹 推荐配置(适用于中等规模生产环境):
| 组件 | 建议 |
|---|---|
| CPU | 2~4 核 |
| 内存 (RAM) | 8GB 或更高 |
| 磁盘空间 | SSD 至少 20GB 或更高 |
| 存储类型 | 推荐使用 SSD 提升 IO 性能 |
✅ 三、软件依赖项(常见需安装的库)
在安装前,确保以下依赖已安装:
# 对于基于 RHEL/CentOS 的系统:
sudo yum install libaio numactl-libs openssl perl
# 对于基于 Debian/Ubuntu 的系统:
sudo apt-get install libaio1 libnuma1 libssl-dev
✅ 四、文件系统与挂载建议
- 推荐使用
ext4或xfs文件系统。 - 数据目录(如
/var/lib/mysql)应单独挂载,并预留足够的磁盘空间。 - 若高并发写入频繁,可考虑使用 RAID 或 LVM 提升性能和管理能力。
✅ 五、系统设置优化建议
编辑 /etc/sysctl.conf 添加以下内容以优化性能:
vm.swappiness = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
fs.file-max = 65535
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
执行生效命令:
sudo sysctl -p
同时调整文件句柄限制(编辑 /etc/security/limits.conf):
mysql soft nofile 65535
mysql hard nofile 65535
✅ 六、防火墙和端口开放
默认 MySQL 使用端口 3306,确保防火墙允许该端口访问:
# CentOS/RHEL:
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
# Ubuntu/Debian (UFW):
sudo ufw allow 3306/tcp
✅ 七、SELinux / AppArmor 设置
如果启用 SELinux 或 AppArmor,可能需要为 MySQL 配置策略规则,否则可以将其设为 permissive 模式进行测试:
setenforce 0 # 临时关闭 SELinux
✅ 八、安装方式选择
MySQL 8.0 支持多种安装方式:
| 安装方式 | 说明 |
|---|---|
| YUM / APT 包 | 快速方便,适合生产部署 |
| RPM / DEB 包 | 手动控制版本 |
| 二进制压缩包 | 无需编译,灵活迁移 |
| 源码编译安装 | 自定义功能多,但复杂度高 |
✅ 九、安全建议
- 创建专用用户运行 MySQL(如
mysql用户) - 定期备份数据(使用
mysqldump或物理备份工具如Percona XtraBackup) - 启用 SSL 连接(如需加密通信)
- 使用强密码并限制远程访问权限
✅ 十、查看官方文档
MySQL 官方文档是最权威的参考资源:
🔗 https://dev.mysql.com/doc/refman/8.0/en/linux-installation.html
如果你有具体的使用场景(如开发、测试、生产、大数据量等),我可以为你进一步定制配置建议。欢迎继续提问!
云计算导航