最近发现两台MySQL server在中午的时候忽然(很突然的那种)发飙,不断的挂掉.重启mysql也尽是失败,看mysql的errorlog,只能看到类似如下的信息: Forcing close of thread 12232 user: 'root' 用mysqladmin 简单的监控了下mysql的情况: mysqladmin -uroot -p******** status -i 1 发现Queries per second avg只有200左右,可以说很低,但是Threads 确非常不…
近期OJ及相关的站点打开异常的慢,简直崩溃,一直没找着原因. 进入数据库server.进到mysql里,用show processlist命令查看一下,发现有非常多的unauthenticated user google了一下, 发现这算属MySQL的一个bug,无论连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS.因为反查的接续速度过慢 (无论是不是isp提供的dnsserver的问题或者其它原因).大量的查询就难以应付.线程不够用就使劲添加线程,可是却得不到释放…
发现这算属MySQL的一个bug,不管连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS,由于反查的接续速度过 慢(不管是不是isp提供的dns服务器的问题或者其他原因),大量的查询就难以应付,线程不够用就使劲增加线程,但是却得不到释放,所以MySQL会 “假死”。 解决的方案很简单,结束这个反查的过程,禁止任何解析。 打开mysql的配置文件(my.cnf),在[mysqld]下面增加一行: skip-name-resolve 重新载入配置文件或者重启MySQL服务…
mysql> show processlist;+----+----------------------+-----------------+------+---------+------+------------------------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+----------------------+-----------------+------+…
服务器放在局域网内进行测试时,数据库的访问速度还是很快.但当服务器放到外网后,数据库的访问速度就变得非常慢. 后来在网上发现解决方法,my.cnf里面添加 [mysqld] skip-name-resolve 这样速度就快了! skip-name-resolve 选项就能禁用DNS解析,连接速度会快很多.不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式. 还有权限的问题,当用户设置限制只能访问某个数据库,如果这个数据库被删了,再重建这个指定数据库,限制用户还是不能访问这个数…
一.现象 在生产环境中我们偶尔会遇到show processlist:显示host为 unauthenticated user 这样的连接,同时伴有数据库服务器层面的load,sys cpu较高,或者thread running异常. 二.分析 类似于校园门卫看到一个陌生的人进入学校,对TA提出的哲学式问题:TA是谁?从哪里来? 要干什么?本文从IT技术角度回答这个哲学问题. TA是谁? 官方介绍: unauthenticated user refers to a thread that has…
一台unibilling机器前几天突然负载变重. 在top中发现cpu被大量占用. agi程序运行的很慢,并出现僵尸进程. 其实当时只有50个左右的并发呼叫. 远远达不到正常水准. 重新启动机器问题也没得到解决. 非常奇怪. 考虑到在top中看到mysqld占用的资源最多,就进入mysql控制台,运行 show processlist命令, 发现某进程的信息很特殊:  代码如下 复制代码 User "unauthenticated user" Command "connect…
1.timeout变量知多少 打开mysql,用show variables like '%timeout%'命令一看,不看不知道,一看吓一跳,结果如下面所示,这么多timeout相关变量,一下就吓尿了..原来对mysql的了解原来是如此的不够,好了,这么些timeout究竟各自是什么意思,花了一下午去学习,做了几个小实验,总算明白了一二,如有错误,请不吝赐教啊. mysql> show variables like '%timeout%'; +-------------------------…
使用mysql数据库的第一步必然是建立连接登录,然后在上面执行SQL命令.无论是通过mysql的客户端,还是通过C-API,JDBC标准接口连接数据库,这个过程一定少不了.今天我们聊一聊mysql登陆具体过程,里面会涉及client与server的交互,并通过tcpdump抓包给大家展现这一过程. TCP握手协议 远程连接数据库,mysql采用TCP协议通信,第一步是建立连接,即TCP的3次握手.mysql server端有一个监听线程等待client请求,client发起请求后,首先发一个sy…
MySQL配置文件my.cnf中文详解,附mysql性能优化方法分享 ================================================================================================= Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果…