mysql配置详解

本文详细介绍了MySQL配置文件的各项参数及其作用,包括socket、port等基本配置,以及key_buffer_size、sort_buffer_size等性能优化参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql安装好之后,它的配置文件是从安装包的support-files里面复制过来一个配置文件,默认mysql配置文件是在/etc/my.cnf,这个路径或者文件名字我们可以修改,在启动脚本中更改。
里面的配置详解如下:
socket = /tmp/mysql.sock它是mysql客户程序与服务器之间的本地通信指定一个套接字文件(linux下默认是/var/lib/mysql/mysql.sock文件)
Port = 3306 指定mysql监听的端口。
key_buffer_size =256m: 是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写)。索引被所有的线程共享,key_buffer的大小是根据内存大小而定。
sort_buffer_size = 1m : mysql执行排序使用的缓冲大小。如果想要增加 ORDER BY 的速度,首先看是否可以让mysql使用索引而不是额外的排序阶段。如果不能,可以增加sort_buffer_size变量的大小。
read_buffer_size = 1m 读查询操作所能使用的缓冲区大小。对表进行顺序扫描的请求将分配一个读入缓冲区,mysql会为它分配一段内存缓冲区。如果对表的顺序扫描请求非常频繁,而且你认为频繁扫描进行的太慢,可以通过增加该变量值以及内存缓冲区大小提高其性能。
max_allowed_packet = 1m :接受数据包的大小,增加该变量的值会变的很安全,因为只用当需要时才会分配额外的内存。
table_open_cache =256 : mysql每打开一个表,都会读入一些数据到table_open_cache缓存中,当mysql在这个缓存中找不到相应的信息时,才会去磁盘上读取。默认值为64,假定系统有200个并发连接,则需将此参数设置为200*N(N为每个连接所需文件描述符数目);
当把这个设置的很大时,如果系统处理不了那么多文件描述符,那么就会出现连不上客户端。
join_buffer_size=2m : 联合查询操作所能使用的缓冲区大小,和sort_buffer_size一样,该参数对应的分配内存也是每连接独享
query_chche_size=32m 指定mysql查询结果缓冲区的大小。
read_rnd_buffer_size=4m
随机读缓冲区大小。当按任意顺序读取行时,将分配一个随机读缓存区。进行排序查询时,mysql会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当提高该值。但mysql会为每个客户连接发放该缓冲空间,所以适当设置该值,以避免内存开销过大。
myisam_sort_buffer_size=64m
myisam表发生变化时重新排序所需的缓冲。
thread_concurrency=8
最大并发线程数,取值为服务器逻辑cpu数量*2
thread_cache_size =8
该值表示可以重新利用保存在缓存中线程的数量,当断开连接时若缓存中还有空间,那么客户端的线程将被放到缓存中,如果线程重新被请求,那么请求将从缓存中读取,若该缓存中是空的或者是新的请求,那么线程将被重新创建。设置规律为:1g内存设置为8,2g内存设置为16,4g以上设置为64
max_connections=1000
mysql的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,如果连接数越多,介于mysql会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高此值。可以通过'conn%'通配符来查看当前状况的连接数量。
max_connect_errors=6000
如果对于同一主机,如果有超出该参数值个数的中断错误连接,则该主机将被禁止连接。如需对该主机进行解禁,执行:FLUSH HOST
open_files_limit=65535
mysql打开的文件描述符限制,默认最小1024
skip-locking避免mysql的外部锁定,减少出错几率增强稳定性。
wait_timeout =8
表示空闲时间的连接超时时间,默认是28800s,这个参数是和interactive_timeout一起使用的,也就是说要想让wait_timeout生效,必须同时设置interactive_timeout
interactive_timeout=8
long_query_time =1
慢查询日志的超时时间
long_slow_queries = /path/to/slow_queries
慢查询日志路径,必须配合上面的参数一同使用。
skip-name-resolve
禁止mysql对外部连接进行DNS解析,使用这一选项可以消除mysql进行DNS解析的时间。如果开启该选项,则所有远程主机连接授权都要使用ip地址方式,不然mysql无法正常处理连接请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值