首次生产部署
把 MySQL 从开发环境搬到生产环境的关键检查清单。参数机制见存储与日志,完整操作步骤按本页末尾链接进入对应运维章节。
1. 硬件规划
容量计算应从实际数据量、并发连接和写入吞吐出发;Buffer Pool 的作用见Buffer Pool。
| 组件 | 建议 |
|---|---|
| 内存 | ≥ 16G,innodb_buffer_pool_size 设为 60%~80% |
| 磁盘 | SSD,IOPS ≥ 3000 |
| CPU | ≥ 8 核 |
| 网络 | 千兆网卡,主从在同一机房 |
2. 必改参数
这些配置只给出首次上线的起点。参数含义和调整边界见参数速查,上线后的性能诊断见性能调优。
ini
[mysqld]
# 缓冲池
innodb_buffer_pool_size = 12G
innodb_buffer_pool_instances = 8
# Redo Log
innodb_redo_log_capacity = 2G
innodb_flush_log_at_trx_commit = 1
# Binlog(主从必须)
log_bin = mysql-bin
binlog_format = ROW
sync_binlog = 1
binlog_expire_logs_seconds = 604800
# 连接
max_connections = 1000
wait_timeout = 600
# 慢查询
slow_query_log = ON
long_query_time = 1
# 安全
local_infile = OFF
sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION3. 安全加固
账号、权限、TLS 和审计的完整要求见安全与用户管理。
sql
-- 删除匿名用户
DELETE FROM mysql.user WHERE User = '';
-- 禁止远程 root
DELETE FROM mysql.user WHERE User = 'root' AND Host != 'localhost';
-- 创建应用专用账号
CREATE USER 'app'@'%' IDENTIFIED BY 'strong_password';
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'app'@'%';
FLUSH PRIVILEGES;4. 备份策略
备份工具、PITR 和恢复验证步骤见备份恢复。
- 全量备份:每天凌晨
mysqldump或xtrabackup - Binlog 备份:实时归档到远程存储
- 恢复演练:每季度验证一次备份可恢复性
5. 监控
指标采集和告警见监控、告警与慢查询;需要从数据库内部定位语句、锁和 I/O 时见内置诊断数据源。
- 连接数、QPS、TPS
- Buffer Pool 命中率
- 慢查询数量
- 复制延迟(主从)
- 磁盘使用率