mysql 参数调优

我们在安装完mysql之后一定要对其进行调优,如果配置文件没有搞好的话,mysql可能会占用很大一部

分内存,同时会使得服务器的性能大大下降,那么我们该如何进行调优,调优的常见选项与方法又是什

么呢,我们一起来看看。

笔者在这里参考了网上的一篇mysql5.6版本的配置文件/etc/my.cnf的模板,详细的配置内容可以参考笔

者另一篇博文,在此不加赘述,我们一起来看看调优时注意的选项:

1) key_buffer_size  首先可以根据系统的内存大小设定它,大概的一个参考值:1G以下内存设定

128M;2G/256M; 4G/384M;8G/1024M;16G/2048M.这个值可以通过检查状态值Key_read_requests和

Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能

的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE ‘key_read%’获得)。注意:

该参数值设置的过大反而会是服务器整体效率降低!

2) table_open_cache 打开一个表的时候,会临时把表里面的数据放到这部分内存中,一般设置成1024

就够了,它的大小我们可以通过这样的方法来衡量: 如果你发现 open_tables等于table_cache,并且

opened_tables在不断增长,那么你就需要增加table_cache的值了(上述状态值可以使用SHOW STATUS

LIKE ‘Open%tables’获得)。注意,不能盲目地把table_cache设置成很大的值。如果设置得太高,可

能会造成文件描述符不足,从而造成性能不稳定或者连接失败。

3) sort_buffer_size 查询排序时所能使用的缓冲区大小,该参数对应的分配内存是每连接独占!如果有

100个连接,那么实际分配的总共排序缓冲区大小为100 × 4 = 400MB。所以,对于内存在4GB左右的服

务器推荐设置为4-8M。

4) read_buffer_size 读查询操作所能使用的缓冲区大小。和sort_buffer_size一样,该参数对应的分

配内存也是每连接独享!

5) join_buffer_size 联合查询操作所能使用的缓冲区大小,和sort_buffer_size一样,该参数对应的

分配内存也是每连接独享!

6) myisam_sort_buffer_size 这个缓冲区主要用于修复表过程中排序索引使用的内存或者是建立索引时

排序索引用到的内存大小,一般4G内存给64M即可。

7) query_cache_size MySQL查询操作缓冲区的大小,通过以下做法调整:SHOW STATUS LIKE

‘Qcache%’; 如果Qcache_lowmem_prunes该参数记录有多少条查询因为内存不足而被移除出查询缓存。

通过这个值,用户可以适当的调整缓存大小。如果该值非常大,则表明经常出现缓冲不够的情况,需要

增加缓存大小;Qcache_free_memory:查询缓存的内存大小,通过这个参数可以很清晰的知道当前系统的

查询内存是否够用,是多了,还是不够用,我们可以根据实际情况做出调整。一般情况下4G内存设置64M

足够了。

8) thread_cache_size 表示可以重新利用保存在缓存中线程的数,参考如下值:1G —> 8 2G —> 16

3G —> 32  3G —> 64
除此之外,还有几个比较关键的参数:

9) thread_concurrency 这个值设置为cpu核数的2倍即可

10) wait_timeout 表示空闲的连接超时时间,默认是28800s,这个参数是和interactive_timeout一起

使用的,也就是说要想让wait_timeout 生效,必须同时设置interactive_timeout,建议他们两个都设

置为10

11) max_connect_errors 是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以

防止暴力破解密码的情况。与性能并无太大关系。为了避免一些错误我们一般都设置比较大,比如说

10000

12) max_connections 最大的连接数,根据业务请求量适当调整,设置500足够

13) max_user_connections 是指同一个账号能够同时连接到mysql服务的最大连接数。设置为0表示不限

制。通常我们设置为100足够

时间: 2024-10-12 05:34:00

mysql 参数调优的相关文章

MySQL参数调优最佳实践

前言很多时候,RDS用户经常会问如何调优RDS MySQL的参数,为了回答这个问题,写一篇blog来进行解释: 哪一些参数不能修改,那一些参数可以修改:这些提供修改的参数是不是已经是最佳设置,如何才能利用好这些参数:哪些参数可以改细心的用户在购买RDS的时候都会看到,不同规格能够提供的最大连接数以及内存是不同的,所以这一些产品规格的限制参数:连接数.内存用户是不能够修改的,如果内存或者连接数出现了瓶颈: 内存瓶颈:实例会出现OOM,然后导致主备发生切换连接数瓶颈:应用不能新建立连接到数据库则需要

mysql日常运维与参数调优

日常运维 DBA运维工作 日常 导数据,数据修改,表结构变更 加权限,问题处理 其它 数据库选型部署,设计,监控,备份,优化等 日常运维工作: 导数据及注意事项 数据修改及注意事项 表结构变更及注意事项 加权限及注意事项 问题处理,如数据库响应慢 导数据及注意事项 数据最终形式(csv,sql文本,还是直接导入某库中) 导数据方法(mysqldump,select into outfile,) 注意事项 导出为csv格式需要file权限,并且只能数据库本地导 避免锁库锁表(mysqldump使用

MySQL数据库参数调优方法

怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化. 注:参数的调整可以通过修改 /etc/my.cnf 文件并重启 MySQL 实现.这是一个比较谨慎的工作,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改. mysql> show global status;  可以列出MySQL服务器运行各种状态值,另外,查

101个MySQL的调优技巧(1)

MySQL是一个功能强大的开源数据库. 随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限. 这里是101条调节和优化MySQL安装的技巧. 一些技巧是针对特定的安装环境的,但这些思路是通用的. 我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧. MySQL 服务器硬件和操作系统调节: 1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中--在内存中访问文件时的速度要比在硬盘中访问时快的多. 2. 不惜一切代价避免使用Swap交换分区 – 交换时是

php.ini参数调优

目录 1.打开php的安全模式 1 2.用户组安全 1 3.关闭危险函数 1 4.关闭php版本信息在http头中的泄漏 1 5.关闭注册全局变量 1 6.打开magic_quotes_gpc来防止SQl注入 1 7.错误信息控制 2 8.错误日志 2 9.部分资源限制参数优化 2 10.部分安全参数优化 2 11.调整php sesson信息存放类型和位置 2 无论是apache还是nginx,php.ini都是适合的.而php-fpm.conf适合nginx+fcgi的配置 首先选择产品环境

MySQL性能调优与架构设计——第 18 章 高可用设计之 MySQL 监控

第 18 章 高可用设计之 MySQL 监控 前言: 一个经过高可用可扩展设计的 MySQL 数据库集群,如果没有一个足够精细足够强大的监控系统,同样可能会让之前在高可用设计方面所做的努力功亏一篑.一个系统,无论如何设计如何维护,都无法完全避免出现异常的可能,监控系统就是根据系统的各项状态的分析,让我们能够尽可能多的提前预知系统可能会出现的异常状况.即使没有及时发现将要发生的异常,也要在异常出现后的第一时间知道系统已经出现异常,否则之前的设计工作很可能就白费了. 18.1 监控系统设计 系统监控

数据库服务器mysql性能调优

mysql性能调优分为4个方面 一.硬件(CPU   内存   硬盘)监控CPU  内存 硬盘的值.[[email protected] ~]# toptop - 03:58:11 up 10:05,  1 user,  load average: 0.00, 0.00, 0.00Tasks: 121 total,   1 running, 120 sleeping,   0 stopped,   0 zombieCpu(s):  0.0%us,  0.7%sy,  0.0%ni, 99.0%i

全栈必备——MySQL性能调优

对于全栈而言,数据库技能不可或缺,关系型数据库或者nosql,内存型数据库或者偏磁盘存储的数据库,对象存储的数据库或者图数据库--林林总总,但是第一必备技能还应该是MySQL.从LAMP的兴起,到Mariadb的出现,甚至PG的到来,熟练的MySQL技能都是大有用武之地的. MySQL数据库技术的方方面面也是很多,这里只涉及必备的性能调优,推崇从下向上的性能调优,主要包括运行环境,配置参数,SQL性能,和系统架构设计调优. 运行环境调优 这里是Linux的天下,MySQL 运行环境的调优往往和L

MySQL性能调优与架构设计——第 17 章 高可用设计之思路及方案

第 17 章 高可用设计之思路及方案 前言: 数据库系统是一个应用系统的核心部分,要想系统整体可用性得到保证,数据库系统就不能出现任何问题.对于一个企业级的系统来说,数据库系统的可用性尤为重要.数据库系统一旦出现问题无法提供服务,所有系统都可能无法继续工作,而不像软件中部分系统出现问题可能影响的仅仅只是某个功能无法继续服务.所以,一个成功的数据库架构在高可用设计方面也是需要充分考虑的.本章内容将针对如何构建一个高可用的 MySQL 数据库系统来介绍各种解决方案以及方案之间的比较. 17.1 利用