Mysql 常用配置

mysqld

max_allowed_packet=64M #导入数据是单表数据较大设置 128M /256M

innodb_log_file_size=2048M #单表字段过多设置Row size too large (> 8126)解决

innodb_strict_mode=0 #单表字段过多设置Row size too large (> 8126)解决

InnoDB 性能优化

innodb_buffer_pool_size = 24G

innodb_buffer_pool_instances = 8

innodb_log_file_size = 2G

innodb_log_files_in_group = 2

innodb_log_buffer_size = 128M

推荐的性能优化参数

在核心参数的基础上,针对 InnoDB 存储引擎进行优化,能显著提升数据库性能。以下参数适用于中高负载场景,建议在测试环境验证后应用。

  • 内存相关‌:

    • ‌**innodb_buffer_pool_size** ‌: InnoDB 缓冲池大小,决定了数据和索引的缓存能力。建议设置为服务器物理内存的 ‌**60%-80%**‌。例如,32GB 内存的服务器可设置为 20G--24G。
    • ‌**innodb_buffer_pool_instances** ‌: 缓冲池分区数量,可提高并发性能。当缓冲池大于 1GB 时,建议设置为 ‌4--8‌。
  • 日志相关‌:

    • ‌**innodb_log_file_size** ‌: 单个重做日志文件的大小。建议设置为 ‌1GB--4GB‌,较大的日志文件可减少写入压力,但会延长崩溃恢复时间。
    • ‌**innodb_log_files_in_group** ‌: 日志文件组数量,通常设置为 ‌2‌。
    • ‌**innodb_log_buffer_size** ‌: 日志缓冲区大小。对于写入频繁的场景,建议设置为 ‌64M--256M‌。
    • ‌**innodb_flush_log_at_trx_commit** ‌: 事务提交时日志刷盘策略。‌1 ‌(默认,最安全)、‌2 ‌(性能较好,可能丢失1秒数据)、‌0 ‌(性能最高,最不安全)。生产环境通常建议设为 ‌2‌ 以平衡性能与安全。
  • IO 相关‌:

    • ‌**innodb_flush_method** ‌: 文件刷盘方式。推荐设置为 ‌**O_DIRECT**‌,可减少文件系统缓存对内存的影响。
    • ‌**innodb_io_capacity** ‌: 指定后台任务的 IO 能力。机械硬盘建议设为 ‌200--1000 ‌,SSD 可设为 ‌2000--10000‌。
    • ‌**innodb_io_capacity_max** ‌: 高负载时的最大 IO 能力。SSD 可设置为 ‌8000‌ 或更高。
  • 并发与线程‌:

    • ‌**innodb_thread_concurrency** ‌: InnoDB 后台线程并发数,建议设置为 ‌CPU 核心数的 2 倍‌。
    • ‌**innodb_read_io_threads / innodb_write_io_threads** ‌: 读写 IO 线程数,建议各设置为 ‌4--8‌。
    • ‌**innodb_autoinc_lock_mode** ‌: 自增锁模式。高并发插入场景建议设置为 ‌2‌(交错模式)。
相关推荐
蜡笔小炘18 分钟前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长22 分钟前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚1 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设1 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
麦聪聊数据1 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_790300962 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_736919102 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓2 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
m0_466525292 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
爱学习的阿磊3 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python