kenneth-lin

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

aws_rds_mysql数据库高可用与参数设置

1、生产级实例参数组设置

参数 推荐值 类型 说明
max_connections 1000 Dynamic 最大连接数,根据你的业务连接峰值调整,r7g.large 不要超过 1500
wait_timeout 600 Dynamic 空闲连接超时 10 分钟,释放闲置长连接,防止连接占满
interactive_timeout 600 Dynamic 交互式客户端超时,和 wait_timeout 保持一致
slow_query_log 3 Dynamic 开启慢查询日志,排查慢 SQL,借贷业务必开
long_query_time 1 Dynamic 执行超过 1 秒判定为慢查询
log_queries_not_using_indexes 1 Dynamic 记录没有走索引的 SQL,提前发现性能隐患
log_output FILE Dynamic 慢查询输出到文件,Aurora 可同步推送到 CloudWatch Logs

InnoDB 优化参数(按需,大部分为动态)

参数 推荐值 类型 说明
innodb_flush_log_at_trx_commit 1 Dynamic ✅金融业务强制 = 1,事务提交立刻刷盘,保障数据不丢失;不要改成 2,有丢数据风险
innodb_autoinc_lock_mode 2 Static 高并发插入优化,订单号、流水号并发场景,静态参数,修改后需要重启
innodb_read_io_threads 8 Dynamic 读 IO 线程,r7g.large 推荐 8
innodb_write_io_threads 8 Dynamic 写 IO 线程,r7g.large 推荐 8
innodb_lock_wait_timeout 50 Dynamic 行锁等待超时 50 秒,防止长事务锁卡死业务
安全 & 事务配套参数
参数 推荐值 类型
-------------------------- ----- -------
innodb_rollback_on_timeout ON Dynamic
max_prepared_stmt_count 10000 Dynamic
可选高级参数(压力高的时候添加)
参数 推荐值 类型 说明
------------------- ---- ------- -------------------------------------
sort_buffer_size 2M Dynamic 排序缓冲区,单会话,不要调太大
join_buffer_size 2M Dynamic join 缓冲区,单会话
tmp_table_size 64M Dynamic 内存临时表上限
max_heap_table_size 64M Dynamic 内存表上限,和 tmp_table_size 保持一致,防止临时表落地磁盘

Aurora MySQL8.0|自定义实例参数组 vs 默认实例参数组

参数 默认值 自定义生产值 说明
slow_query_log 0 1 开启慢查询日志
long_query_time 10 1 超过 1 秒即为慢 SQL(默认 10 秒太宽松)
log_queries_not_using_indexes 0 1 记录没有索引的 SQL,提前发现隐患
max_connections 1000 1000 ✅ 默认就是 1000;如果你业务峰值小于 800,可以不改,直接保留默认
wait_timeout 28800 600 空闲连接超时:默认 8 小时,改成 10 分钟释放闲置连接,防止连接堆积
interactive_timeout 28800 600 交互式会话超时,和 wait_timeout 保持一致
innodb_lock_wait_timeout 50 50 默认已经是 50,不用改
innodb_flush_log_at_trx_commit 1 1 默认就是 1,金融安全最优,无需修改
2、数据库集群参数配置
设置集群时间和集群字符集等
server_audit_logging=1 #审核日志
server_audit_events = CONNECT,QUERY_DDL,QUERY_DCL #CONNECT记录登录、登出、登录失败事件 ,DDL, 追踪数据库账号创建、授权、回收权限操作
server_audit_excl_users = rdsadmin #rdsadmin 的所有操作不写入审计日志,AWS 后台用来监控实例健康、心跳巡检、内部管理

!!!注意:从默认参数组切换到自定义参数组会重启数据库。可以指定时间重启数据库。

3、mysql高可用
创建可读副本。

4、配置集群参数后开启日志导出,error,审计,慢日志导出到 cloudwatch
image
日志管理-设置日志保留周期

日志分析
审计日志

fields @timestamp, @message
| filter @message like /CONNECT/ or @message like /QUERY_DDL/ or @message like /QUERY_DCL/
| sort @timestamp desc
| limit 50

慢查询查询

fields @timestamp, @message
| filter @message like /Query_time/
| parse @message "Query_time: *  Lock_time: * Rows_sent: * Rows_examined: * SET timestamp=*; *" as Query_time,Lock_time,Rows_sent,Rows_examined,ts,sql
| sort Query_time desc
| limit 50

5、生产推荐:配置指标过滤器 + CloudWatch 告警(安全 + 性能预警)

posted on 2026-09-04 11:41  kenneth-lin  阅读(1)  评论(0)    收藏  举报