龙空技术网

mysql配置优化(windows下my.ini)

青蛙先生讲知识 277

前言:

眼前小伙伴们对“mysql优化书籍pdf”大概比较重视,兄弟们都想要了解一些“mysql优化书籍pdf”的相关内容。那么小编同时在网摘上汇集了一些对于“mysql优化书籍pdf””的相关资讯,希望小伙伴们能喜欢,咱们快快来学习一下吧!

优化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=gb2312

(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优化书籍pdf