mysql需要调整的参数

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

Mysql需要调整的参数

 

#以 mysql 5.6版本示例讲解

 

一、Innodb设置

innodb_buffer_pool_size保存innodb数据和索引在该buffer中,

对专用mysql服务器,推荐50-80%物理内存大小,

如 5-6GB (8GB RAM), 20-25GB (32GB RAM),

100-120GB(128GB RAM) 

 

innodb_log_file_size:  控制redo日志的大小,redo日志可以加速写,

持久性和crash恢复。通常使用两个文件,mysql 5.5总的redo日志限制为4GB,对写负载型的应用,应该增加该值,使后台检查点活动减少,提高性能,如4G左右,太大将使故障恢复需要更长的时间。

 

innodb_flush_method:   控制数据和日志怎样刷新到磁盘,如果使用了RAID控制器,

应该使用O_DIRECT。

 

innodb_flush_neighbors:如果是SSD可以关闭,对连续IO没有任何性能改善。

 

innodb_io_capacity和innodb_io_capacity_max:设置每秒有多少后台线程工作,

根据硬件的能力进行设置。

 

innodb_lru_scan_depth:如果增加innodb_io_capacity,也要增加该值

 

innodb_file_per_table:设置为ON,每个表使用独立的.ibd文件存储数据和索引,允许当dropping、truncating或rebuilding表时回收再利用剩余空间,也能支持扩展的特性如压缩。

 

innodb_flush_log_at_trx_commit默认为1,意味着Innodb是完全遵守ACID特性,刷新每个改变到redo日志;设置为2,每秒刷新一次;0更快,但是在crash时将丢失一些数据。

 

innodb_log_buffer_size:    事务日志buffer,当有大的blob/text字段时,可以考虑提高该值,以免产生额外的I/O负载。通过观察Innodb_log_waits状态变量,如果非0,将增大该值。

 

 

 

 

 

 

二、复制

 

log-bin:    启用二进制日志,默认不是crash安全的,根据业务情况进行设置,

如果需要持久性,需要开启sync_binlog=1,sync_relay_log=1,

relay-log-info-repository=TABLE和master-info-repository=TABLE

或sync_relay_log_info=1和sync_master_info=1。

 

expire-log-days:   推荐1-10天

 

server-id:      在主从复制环境,每个服务器需要有唯一的server-id

 

binlog_format=ROW:    使用基于行的复制,提高性能,减少锁。同时需要设置

transaction-isolation=READ-COMMITIED

innodb_autoinc_lock_mode=2

 

三、混合参数

timezone=GMT:适合全球化

 

character-set-server=utf8mb4

 

collation-server=utf8mb4_general_ci:utf8    #是更好字符集的格式,

也可以设置skip-character-set-client-handshake

忽略应用程序设置的字符集

 

sql-mode:     #默认是宽容的,会静默的截断数据,应该更好的设置

STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,

NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,

NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY

 

skip-name-resolve对进来的连接禁用域名反向查找,禁止使用主机名进行授权,

必须使用IP地址进行授权

 

max_connect_errors:设置成100000,因使用防火墙阻止访问攻击

 

max-connections:   建议300-500,推荐不要太高,建议使用应用连接池,或者mysql线程池

 

query_cache_size: 关闭该选项,使用另外的方式,如好的索引、使用复制分担读负载,或使用外部cache机制(memcached、redis)提高性能。


本文转自 boy461205160 51CTO博客,原文链接:http://blog.51cto.com/461205160/1885588


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
342
分享
相关文章
在云数据仓库AnalyticDB MySQL版中,有几个参数可能影响SELECT查询的执行及其稳定性
在云数据仓库AnalyticDB MySQL版中,有几个参数可能影响SELECT查询的执行及其稳定性【1月更文挑战第16天】【1月更文挑战第80篇】
360 4
Mysql第十四天,Mysql并发参数调整
Mysql第十四天,Mysql并发参数调整
69 0
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
【赵渝强老师】MySQL的参数文件
MySQL启动时会读取配置文件my.cnf来确定数据库文件位置及初始化参数。该文件分为Server和Client两部分,包含动态与静态参数。动态参数可在运行中通过命令修改,而静态参数需修改my.cnf并重启服务生效。文中还提供了相关代码示例和视频教程。
如何根据监控结果调整 MySQL 数据库的参数以提高性能?
【10月更文挑战第28天】根据MySQL数据库的监控结果来调整参数以提高性能,需要综合考虑多个方面的因素
108 1
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
761 15
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
MySQL 参数innodb_read_io_threads
`innodb_read_io_threads` 是 MySQL 数据库中 InnoDB 存储引擎的一个配置参数,它用于指定后台线程池中用于处理读取 I/O 请求的线程数量。InnoDB 存储引擎负责管理数据库的物理存储和检索,是 MySQL 最常用的存储引擎之一。 ### 参数说明 - **名称**: `innodb_read_io_threads` - **默认值**: 4 - **范围**: 1 到 64 - **动态修改**: 不能动态修改(需要重启服务器) - **适用版本**: MySQL 5.6 及以上版本 ### 作用 `innodb_read_io_threads`
717 1
数据库:MYSQL参数max_allowed_packet 介绍
数据库:MYSQL参数max_allowed_packet 介绍
435 2
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
377 0
【Mysql】MYSQL参数max_allowed_packet 介绍
【Mysql】MYSQL参数max_allowed_packet 介绍
795 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等