ECS c5实例安装MySQL的系统配置要求主要取决于您的业务负载和数据规模,但c5作为阿里云新一代计算优化型实例,本身性能强劲。以下是关键的系统配置建议:
一、核心硬件配置(c5实例选择)
-
CPU与内存:
- 测试/轻量级应用:建议至少 2核4GB(如ecs.c5.large)。
- 生产环境:根据数据量和并发量调整,一般建议 4核8GB起步。高并发场景可选择更高配置(如8核16GB或以上)。
- 内存公式参考:建议内存 ≥(总数据量 × 索引占比 + 连接数 × 每个连接内存)。InnoDB缓冲池通常设为物理内存的50%-70%。
-
存储:
- 类型:ESSD云盘(PL0/PL1)或高效云盘,优先选择ESSD以获得更高IOPS。
- 容量:系统盘≥40GB(建议50GB),数据盘根据数据量预留2-3倍增长空间。
- IOPS:高并发写入场景需计算所需IOPS(如日志型业务),必要时选择ESSD PL2/PL3。
-
网络:
- 内网访问:建议将MySQL与应用服务器放在同一专有网络VPC内。
- 公网访问:如需要,可绑定弹性公网IP(EIP),但需配置安全组。
二、操作系统与软件环境
-
操作系统:
- 推荐:Alibaba Cloud Linux 3/2、CentOS 7.9/8、Ubuntu 20.04/22.04 LTS(64位)。
- 内核优化:建议使用Alibaba Cloud Linux(已针对ECS优化)。
-
MySQL版本:
- 社区版:MySQL 8.0(推荐,性能更好)或5.7(稳定)。
- 云盘版:可通过阿里云市场或官方Yum源安装。
三、系统级配置优化
-
内核参数调整(/etc/sysctl.conf):
# 提高网络和文件系统性能 net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 vm.swappiness = 10 vm.dirty_ratio = 60 vm.dirty_background_ratio = 5 # 文件描述符限制 fs.file-max = 65535执行
sysctl -p生效。 -
资源限制调整(/etc/security/limits.conf):
* soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535 -
磁盘调度策略:
# 查看调度策略 cat /sys/block/vdb/queue/scheduler # 建议设置为deadline或noop(SSD云盘) echo deadline > /sys/block/vdb/queue/scheduler
四、MySQL安装与基础配置
-
安装方式:
- Yum安装(CentOS/Alibaba Linux):
# 添加MySQL Yum仓库 rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm yum install mysql-community-server - 二进制包安装:适合需要自定义路径的场景。
- Yum安装(CentOS/Alibaba Linux):
-
关键配置(my.cnf):
[mysqld] # 基础设置 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # 内存优化(以4GB内存为例) innodb_buffer_pool_size = 2G innodb_log_file_size = 256M key_buffer_size = 128M # 连接设置 max_connections = 200 thread_cache_size = 10 # 日志 slow_query_log = ON long_query_time = 2 log-error=/var/log/mysqld.log # 其他优化 innodb_flush_log_at_trx_commit = 1 sync_binlog = 1
五、安全与监控
-
安全组规则:
- 仅开放3306端口给必要的IP(如应用服务器内网IP)。
- 生产环境避免直接开放公网访问。
-
监控:
- 启用阿里云云监控,关注CPU使用率、内存使用率、磁盘IOPS和连接数。
- 配置MySQL慢查询日志和错误日志。
六、部署建议
- 数据盘分离:将MySQL数据目录挂载到独立的数据盘(如
/data)。 - 备份策略:配置阿里云快照或使用
mysqldump进行定期备份。 - 高可用考虑:生产环境建议考虑主从复制或使用阿里云RDS(免运维)。
快速检查清单
- [ ] 选择合适规格的c5实例(CPU/内存)
- [ ] 配置ESSD云盘并挂载数据盘
- [ ] 调整系统内核参数和资源限制
- [ ] 安装MySQL并优化my.cnf配置
- [ ] 设置root密码并创建业务数据库用户
- [ ] 配置安全组和防火墙规则
- [ ] 启用监控和日志记录
注意事项
- 测试环境先行:生产环境部署前,建议在相同配置的测试环境验证。
- 版本一致性:确保开发、测试、生产环境的MySQL版本一致。
- 定期维护:设置定期优化(如表碎片整理、日志清理)。
如果您的业务对可用性要求较高,建议直接使用阿里云RDS for MySQL,它提供了自动备份、监控、高可用等企业级功能,可减少运维负担。
CLOUD技术笔记