大部分时间是正常的,但偶尔会出现 mysql 连不上、查询超时的问题,系统是 windows ,可以有偿帮忙解决问题,企鹅 MjEyNTcwNTM0MA==
     1 
                    
                    ixiaohei      2017-02-13 23:43:21 +08:00 
                    
                    查询超时?这个是慢 sql 么?如果是网络抓包就能分析出来了 
                 | 
            
     2 
                    
                    yuyuyu   OP @ixiaohei 确实有慢 SQL ,已经在优化了,但是慢 SQL 会导致 MYSQL 连接都连接不上吗?另外我也不知道这个慢 SQL 是不是真正的罪魁祸首,因为有可能是其他的慢 SQL 导致了表锁什么的然后才会有后面的慢 SQL ? 
                 | 
            
     3 
                    
                    ixiaohei      2017-02-13 23:57:24 +08:00 
                    
                    慢 SQL 会导致超时异常。如果是 java 一般是 SQLTimeoutException 这种异常。其他的语言也会类似。看你连接池或者链接超时时间设置的是多少。慢 sql 很好优化的,看执行计划就行,最头痛的就是有时候走索引,有时候不走,这时候建议 hint 。 
                 | 
            
     4 
                    
                    yuyuyu   OP @ixiaohei 我现在直接执行慢 sql 语句又很快,这是慢 SQL 语句: 
                # User@Host: root[root] @ [x.x.x.x] Id: 223 # Query_time: 12.136800 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 1 SET timestamp=xxxx; SELECT `Extent1`.`ID`, `Extent1`.`Email`, `Extent1`.`Password`, `Extent1`.`Start`, `Extent1`.`End`, `Extent1`.`Register` FROM `userinfo` AS `Extent1` WHERE `Extent1`.`ID` = 1; 这是执行计划: # id, select_type, table, type, possible_keys, key, key_len, ref, rows, Extra '1', 'SIMPLE', 'Extent1', 'const', 'PRIMARY,ID_UNIQUE', 'PRIMARY', '4', 'const', '1', NULL  | 
            
     5 
                    
                    yuyuyu   OP 好吧,我有一个表是空的表,一条数据都没有,居然也在慢 SQL 记录里面找到了对这个表的查询有 19 秒……感觉出现这种问题的时候,整个 mysql 所有的表查询都会超时或者很慢很慢……是不是 mysql 哪里配置或者和 windows 有兼容性问题? mysql 版本是 5.6.19 , win2008r2 
                 | 
            
     6 
                    
                    yuyuyu   OP 我愿意支付 1000 元酬劳帮忙解决问题 
                 | 
            
     7 
                    
                    ixiaohei      2017-02-14 19:36:34 +08:00 
                    
                    建议换 linux 服务器试试。把数据导过来就行了。以前在 windows server 上跑几年的 mysql 也没有出现过问题。估计可能你的应用程序有问题 
                 | 
            
     8 
                    
                    yuyuyu   OP @ixiaohei 就是因为不熟 linux 才弄的 windows ,生产环境 linux 出问题不懂要死人的……不应该是应用程序的问题,我建了一个最简单只包含 select count(0) from xxx 的程序,在服务器上每隔 1 分钟执行一次这条 SQL ,当出现问题的时候,这个应用程序也会报查询超时错误,实在不知道什么原因折腾了很久,所以愿意花钱找人帮忙, 1000 不够就 2000 ! 
                 | 
            
     9 
                    
                    ixiaohei      2017-02-14 20:55:40 +08:00 
                    
                    那我感觉你还是有慢查询了,占用完 cpu 线程了,后面的阻塞超时了? 
                 | 
            
     11 
                    
                    ixiaohei      2017-02-14 23:01:20 +08:00 
                    
                    建议你监控 mysql 的 cpu , io 这些东西,网上搜 mysql 慢查询,能找到很多解决的方法的。 
                 |