my.ini优化mysql数据库性能的十个参数(推荐)


Posted in MySQL onMay 26, 2021

今天刚好需要配置mysql 5.5.45,因为数据库量挺大的,所以必须优化,要不mysql真的不快。

(1)、max_connections:
允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 too many connections 错误。 默认数值是100,我把它改为1024 。

(2)、record_buffer:
每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128k),我把它改为16773120 (16m)

(3)、key_buffer_size:
索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600(8m),我的mysql主机有2gb内存,所以我把它改为 402649088(400mb)。

4)、back_log:
要求 mysql 能有的连接数量。当主要mysql线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。
back_log 值指出在mysql暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的tcp/ip连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。试图设定back_log高于你的操作系统的限制将是无效的。
当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | null | connect | null | login | null 的待连接进程时,就要加大 back_log 的值了。默认数值是50,我把它改为500。

(5)、interactive_timeout:
服务器在关闭它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对 mysql_real_connect()使用 client_interactive 选项的客户。 默认数值是28800,我把它改为7200。


(6)、sort_buffer:
每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速order by或group by操作。默认数值是2097144(2m),我把它改为 16777208 (16m)。

(7)、table_cache:
为所有线程打开表的数量。增加该值能增加mysqld要求的文件描述符的数量。mysql对每个唯一打开的表需要2个文件描述符。默认数值是64,我把它改为512。

(8)、thread_cache_size:
可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性能可以这个变量值。通过比较 connections 和 threads_created 状态的变量,可以看到这个变量的作用。我把它设置为 80。

(9)mysql的搜索功能
用mysql进行搜索,目的是能不分大小写,又能用中文进行搜索
只需起动mysqld时指定 --default-character-set=UTF-8

(10)、wait_timeout:
服务器在关闭它之前在一个连接上等待行动的秒数。 默认数值是28800,我把它改为7200。


2G内存,针对站多,抗压型的设置,最佳:

table_cache=1024 物理内存越大,设置就越大.默认为2402,调到512-1024最佳
innodb_additional_mem_pool_size=4M 默认为2M
innodb_flush_log_at_trx_commit=1
(设置为0就是等到innodb_log_buffer_size列队满后再统一储存,默认为1)
innodb_log_buffer_size=2M 默认为1M
innodb_thread_concurrency=8 你的服务器CPU有几个就设置为几,建议用默认一般为8
key_buffer_size=256M 默认为218 调到128最佳
tmp_table_size=64M 默认为16M 调到64-256最挂
read_buffer_size=4M 默认为64K
read_rnd_buffer_size=16M 默认为256K
sort_buffer_size=32M 默认为256K
max_connections=1024 默认为1210
thread_cache_size=120 默认为60
query_cache_size=64M


一般:
table_cache=512
innodb_additional_mem_pool_size=8M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=4M
innodb_thread_concurrency=8
key_buffer_size=128M
tmp_table_size=128M
read_buffer_size=4M
read_rnd_buffer_size=16M
sort_buffer_size=32M
max_connections=1024

MySQL 相关文章推荐
mysql多表查询-笔记七
Apr 05 MySQL
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
May 29 MySQL
浅谈MySQL表空间回收的正确姿势
Oct 05 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
Nov 27 MySQL
SQL语法CONSTRAINT约束操作详情
Jan 18 MySQL
MySQL限制查询和数据排序介绍
Mar 25 MySQL
Mysql分析设计表主键为何不用uuid
Mar 31 MySQL
Mysql中常用的join连接方式
May 11 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
May 11 MySQL
MySQL数据库表约束讲解
Jun 21 MySQL
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
May 08 MySQL
SQL Server数据库的三种创建方法汇总
May 08 MySQL
linux下导入、导出mysql数据库命令的实现方法
May 26 #MySQL
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
MySQL之PXC集群搭建的方法步骤
May 25 #MySQL
Mysql 用户权限管理实现
May 25 #MySQL
MySQL 查询速度慢的原因
May 25 #MySQL
MySQL 全文索引使用指南
May 25 #MySQL
52条SQL语句教你性能优化
May 25 #MySQL
You might like
PHP中SESSION使用中的一点经验总结
2012/03/30 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
Python中给List添加元素的4种方法分享
2014/11/28 Python
python3中int(整型)的使用教程
2017/03/23 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
写好自荐信的技巧
2013/11/08 职场文书
环保建议书200字
2014/05/14 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
大学生干部培训心得体会
2016/01/06 职场文书
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL