Mysql的一点优化
时间:2010-08-29 来源:bingqihan
今天Mysql从服务器在登陆通行证出现了“Can not connect to MySQL server:192.168.20.20”,和本周出现的一次问题同样,技术部的同事重启mysql服务就ok了。
经我的怀疑,可能是mysql连接数过高导致,应该优化一下mysql。果然,部门老大发来QQ消息,说他查看了mysql服务器了,对mysql配置做了一些优化:
1.一个出现大量unauthenticated user,导致mysql连接过多,所以才会死掉。就汤下面 加:--skip-name-resolve参数,调整相关参数。 2.我看他们的程序是采用了长连接,调整了一下time_out的时间。 |
记录此调优参数,在查看其他相关优化文档,多多加强mysql方面的优化工作。
查到一篇文章,转贴过来:
近日在数据库方面,发现异常的联机状况该状况在 mysql 下指令
Show Processlist;
可以看到问题该问题如下; : 3436942 : unauthenticated user : 192.168.0.52:49607 : : Connect : : login : : 3436943 : unauthenticated user : 192.168.0.52:49608 : : Connect : : login :
会有非常多的 unauthenticated user 尝试做登入使用 mysql 的情况当这情况在无限制的发生时,就会照成系统的停顿在经过多方测试,以及询问官方原厂的响应下发现这属于官方一个系统上的特殊设定,亦可称呼他为 mysql 的 bug 不管连结的的方式是经过 hosts 或是 IP 的模式,他都会对 DNS 做反查mysqld 会尝试去反查 IP -> dns ,由于反查解析 过慢,无法应付快速多量的查询 反查是上层 ISP 所掌控,并不是我们可以解决及要求的在知道问题的症结点后,要解决这个问题就有相对应的方法其方法分为两个步骤,
第一是开启 Mysqld 的时候加入特定的参数启动
第二就是修改 mysql 的联机设定等,如下所示
-
启动参数; with --skip-name-resolve =>这样就可以关闭反查动作
-
更改 my.cnf;加强以下设定
[mysqld] |
经过以上的设定及重新启动过后,直到现在还没有看到一个 unauthenticated user 的情况发生 。