Carry の Blog Carry の Blog
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carry の Blog

好记性不如烂键盘
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • Python
  • Shell
  • MySQL8-SOP手册
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • MySQL8-SOP

    • 第一章 概述
    • 第二章 环境准备
      • 2.1 硬件要求与推荐配置
        • 推荐配置
      • 2.2 操作系统依赖项
        • 系统参数调优
        • SELinux与防火墙配置
      • 2.3 网络规划
        • 主从节点通信端口规范
        • 延迟与带宽基准测试
      • 2.5 环境预检查清单
      • 下一步
    • 第三章 安装部署规范
    • 第四章 ReplicaSet高可用配置
    • 第五章 监控与日常维护
    • 第六章 故障处理手册
    • 第七章 安全与权限管理
    • 第八章 扩展与升级方案
    • 附录
  • 专题系列
  • MySQL8-SOP
Carry の Blog
2024-01-09
目录

第二章 环境准备原创

# 第二章 环境准备

# 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

# 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 网络规划

# 主从节点通信端口规范

端口 用途 说明
3306 MySQL服务端口 默认服务端口
33061 组复制端口 用于组复制通信
33062 监控端口 可选,用于监控

# 延迟与带宽基准测试

# 网络延迟测试
ping -c 100 <从节点IP>

# 带宽测试
iperf3 -s  # 在从节点执行
iperf3 -c <从节点IP>  # 在主节点执行
1
2
3
4
5
6

网络要求

  • 节点间网络延迟应小于2ms
  • 带宽建议≥1Gbps
  • 网络抖动率应<1%

# 2.5 环境预检查清单

在开始安装 MySQL 之前,请确认以下各项已准备就绪:

  • [ ] 硬件资源:CPU、内存、磁盘空间满足规划要求。
  • [ ] 操作系统:版本兼容,已安装必要的依赖包。
  • [ ] 系统参数:文件句柄数、内核网络参数已调整。
  • [ ] 文件系统:数据盘已使用推荐的文件系统和挂载参数挂载。
  • [ ] 时间同步:NTP 服务已配置并正常运行,所有节点时间一致。
  • [ ] 用户与组:mysql 用户和组已创建。
  • [ ] 目录与权限:数据和日志目录已创建,并设置正确的属主和权限。
  • [ ] 网络连通性:节点间规划的端口(3306, 33060, 33061)网络互通,延迟和带宽达标。
  • [ ] 防火墙/SELinux:已放行所需端口,或已配置正确的 SELinux 策略。
  • [ ] 无冲突服务:确认目标服务器上没有其他正在运行的 MySQL 实例(除非有意替换)。
  • [ ] 备份介质:准备好用于存放数据库备份的存储空间。

# 下一步

  • 安装部署规范
  • ReplicaSet高可用配置
#MySQL#数据库#系统配置
上次更新: 4/24/2025

← 第一章 概述 第三章 安装部署规范→

最近更新
01
tidb fast ddl
04-04
02
TiDB配置文件调优 原创
04-03
03
如何移除TiDB中的表分区 原创
04-03
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式