文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Mysql的一点优化

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 的联机设定等,如下所示    

  1. 启动参数; with --skip-name-resolve =>这样就可以关闭反查动作 

  2. 更改 my.cnf;加强以下设定  

 

[mysqld]
datadir=/services/mysql/
socket=/tmp/mysql.sock
port=3306
set-variable = key_buffer_size=64M
set-variable = max_connections=1024
set-variable = interactive_timeout=30 ------ skip-name-resolve #这样就可以关闭反查动作
[mysqld.server]
user=mysql
basedir=/usr/local

经过以上的设定及重新启动过后,直到现在还没有看到一个 unauthenticated user 的情况发生 。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载