Mysql几个不好的默认设置

本文讨论了MySQL中的几个不合理默认配置,如max_connect_errors、connect_timeout等,并提供了优化建议。

Mysql几个不好的默认设置

首先是max_connect_errors和connect_timeout。

mysql有这样的行为:

如果客户端连接Mysql失败,服务器就会在等候connect_timeout秒之后放弃等候,并且增加连接错误的计数器。

然后,当值达到了max_connect_errors的时候,服务器会将这个客户端锁住。

直到服务器执行了FLUSH HOSTS命令。

所以当mysql偶然出现网络间断的时候,就很有可能出现连接错误计数器超过max_connect_errors的情况。

所以有几个方法:

1 将max_connect_errors调整成一个很大的数

2 调高connect_timeout的值(默认值为5,建议调高为15或20,也不是越高越好,要考虑到thread_cache_size的控制)

 

mysql默认会对每个连接使用DNS逆向查询。不管这个过程怎么样,其实这个过程其实是不必要的。

为了提高性能,也为了降低connect_timeout超时的概率,所以应该在my.cnf中加入

skip-name-resolve来跳过这个环节。

 

slave_net_timeout这个字段是设置主从服务器发生意外连接失败的时候,从服务器等候多少时间才会意识到连接失败

,从而执行重连操作。

mysql默认设置是3600秒,竟然是整整一个小时,作者认为这是不合理的,毕竟没人希望当两个服务器意外连接

失败的时候,过了一个小时从服务器才知道连接失败。所以作者建议这个属性应该调小到30s左右。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值