MySQL 8.0 在 Linux 服务器上的要求主要包括以下几个方面:
1. 操作系统支持
官方支持的 Linux 发行版:
- Red Hat Enterprise Linux (RHEL) 7 及更高版本
- CentOS 7 及更高版本
- Oracle Linux 7 及更高版本
- Ubuntu 16.04 LTS 及更高版本(推荐 20.04/22.04 LTS)
- Debian 9 及更高版本
- SUSE Linux Enterprise Server (SLES) 12 及更高版本
其他兼容发行版(如 Fedora、AlmaLinux、Rocky Linux)需验证内核和库的兼容性。
2. 硬件要求
- CPU:x86_64 架构(推荐 2 核以上,生产环境需更高配置)。
- 内存:
- 最小 2GB(仅基础运行)。
- 生产环境建议 8GB 以上(根据数据量和并发调整)。
- 存储:
- 至少 5GB 空闲空间(实际需根据数据量规划)。
- 推荐 SSD 或高性能磁盘(尤其是 InnoDB 存储引擎)。
- 网络:稳定的网络环境(远程访问或集群部署时重要)。
3. 软件依赖
- 必备库:
glibc2.17 或更高版本。libstdc++、libgcc等基础运行时库。openssl1.1.1 或更高版本(MySQL 8.0 默认使用 OpenSSL 加密)。
- 可选依赖:
numactl(NUMA 架构优化)。libaio(异步 I/O 支持,提升性能)。
4. 文件系统要求
- 推荐使用支持
fsync()的文件系统(如ext4、XFS、ZFS)。 - 确保
/tmp目录有足够空间(MySQL 可能使用临时文件)。
5. 内核参数调整
- 关键设置(需在
/etc/sysctl.conf中配置):vm.swappiness = 0 # 减少交换分区使用 vm.overcommit_memory = 1 # 允许内存超分配(谨慎使用) fs.file-max = 65535 # 增加文件描述符限制 - 用户进程限制(
/etc/security/limits.conf):mysql soft nofile 65535 mysql hard nofile 65535
6. 用户与权限
- 需创建一个专用的
mysql用户和用户组运行服务:groupadd mysql useradd -r -g mysql -s /bin/false mysql
7. 防火墙与安全
- 防火墙:开放 MySQL 默认端口(
3306/tcp):sudo firewall-cmd --add-port=3306/tcp --permanent # Firewalld(RHEL/CentOS) sudo ufw allow 3306/tcp # UFW(Ubuntu/Debian) - SELinux:如需启用,需配置 MySQL 相关策略。
8. 安装方式选择
- 官方 RPM/DEB 包:从 MySQL 官网下载。
- Docker 容器:使用官方镜像
mysql:8.0。 - 源码编译:需手动解决依赖(不推荐新手)。
9. 其他注意事项
- 卸载旧版本:若存在旧版 MySQL(如 5.7),需彻底卸载以避免冲突。
- 配置文件路径:默认位于
/etc/my.cnf或/etc/mysql/my.cnf。 - 数据目录:默认在
/var/lib/mysql,确保有足够权限和空间。
验证安装
安装后运行以下命令检查状态:
systemctl status mysqld # RHEL/CentOS
systemctl status mysql # Ubuntu/Debian
首次启动后,使用临时密码登录并修改:
sudo grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
根据实际场景(如高并发、大表、集群部署),可能需进一步优化配置(如 innodb_buffer_pool_size、连接数等)。
云服务器