第二章 环境准备原创
# 第二章 环境准备
# 2.1 硬件要求与推荐配置
最低配置要求
- CPU:4核及以上
- 内存:16GB及以上
- 磁盘:SSD,IOPS≥5000。推荐使用 NVMe SSD 以获得更低的延迟和更高的吞吐量,尤其对于 I/O 密集型应用。
- 网络:千兆网卡
# 推荐配置
组件 | 开发环境 | 生产环境 | 说明 |
---|---|---|---|
CPU | 8核 | 16核及以上 | 根据并发连接数和查询复杂度调整 |
内存 | 32GB | 64GB及以上 | 主要用于 InnoDB Buffer Pool,建议大小为物理内存的 50%-70% |
磁盘 | SSD 500GB | SSD/NVMe 1TB+ | 建议将数据、二进制日志(binlog)、重做日志(redo log)、撤销日志(undo log)放置在不同的物理卷或逻辑卷上,以优化 I/O 性能和隔离故障。 |
网络 | 千兆 | 万兆 | 保证节点间低延迟和高带宽 |
# 2.2 操作系统依赖项
# 系统参数调优
# 文件句柄数调整
cat >> /etc/security/limits.conf << EOF
mysql soft nofile 65535
mysql hard nofile 65535
EOF
# 内核参数优化
cat >> /etc/sysctl.conf << EOF
vm.swappiness = 1
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
EOF
sysctl -p
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# SELinux与防火墙配置
注意事项
在生产环境中,建议保持SELinux开启并正确配置策略,而不是直接禁用
# SELinux配置
semanage port -a -t mysqld_port_t -p tcp 3306
# 防火墙配置
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --permanent --add-port=33061/tcp # 组复制端口
firewall-cmd --reload
1
2
3
4
5
6
7
2
3
4
5
6
7
# 2.3 网络规划
# 主从节点通信端口规范
端口 | 用途 | 说明 |
---|---|---|
3306 | MySQL服务端口 | 默认服务端口 |
33061 | 组复制端口 | 用于组复制通信 |
33062 | 监控端口 | 可选,用于监控 |
# 延迟与带宽基准测试
# 网络延迟测试
ping -c 100 <从节点IP>
# 带宽测试
iperf3 -s # 在从节点执行
iperf3 -c <从节点IP> # 在主节点执行
1
2
3
4
5
6
2
3
4
5
6
网络要求
- 节点间网络延迟应小于2ms
- 带宽建议≥1Gbps
- 网络抖动率应<1%
# 2.5 环境预检查清单
在开始安装 MySQL 之前,请确认以下各项已准备就绪:
- [ ] 硬件资源:CPU、内存、磁盘空间满足规划要求。
- [ ] 操作系统:版本兼容,已安装必要的依赖包。
- [ ] 系统参数:文件句柄数、内核网络参数已调整。
- [ ] 文件系统:数据盘已使用推荐的文件系统和挂载参数挂载。
- [ ] 时间同步:NTP 服务已配置并正常运行,所有节点时间一致。
- [ ] 用户与组:
mysql
用户和组已创建。 - [ ] 目录与权限:数据和日志目录已创建,并设置正确的属主和权限。
- [ ] 网络连通性:节点间规划的端口(3306, 33060, 33061)网络互通,延迟和带宽达标。
- [ ] 防火墙/SELinux:已放行所需端口,或已配置正确的 SELinux 策略。
- [ ] 无冲突服务:确认目标服务器上没有其他正在运行的 MySQL 实例(除非有意替换)。
- [ ] 备份介质:准备好用于存放数据库备份的存储空间。
# 下一步
上次更新: 4/24/2025
← 第一章 概述 第三章 安装部署规范→