注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

陈钟鸣的博客

独立之精神,自由之思想.

 
 
 

日志

 
 

sql不能返回结果的重现  

2009-05-04 17:44:57|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 
模拟重现sql不能返回的问题: 

1 启动mysql

 [root@localhost bin]# su - mysql
 [mysql@localhost ~]$ cd /pp/mysql/bin
 [mysql@localhost bin]$ ./mysqld_safe -umysql  &
 Starting mysqld daemon with databases from /pp/mysql/var
 
 ##############################################
 
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name  
 tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      5776/mysqld        
 tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      5058/portmap       
 tcp        0      0 0.0.0.0:606                 0.0.0.0:*                   LISTEN      5088/rpc.statd     
 tcp        0      0 :::22                       :::*                        LISTEN      5293/sshd          
 udp        0      0 0.0.0.0:1026                0.0.0.0:*                               5400/avahi-daemon: 
 udp        0      0 0.0.0.0:600                 0.0.0.0:*                               5088/rpc.statd     
 udp        0      0 0.0.0.0:603                 0.0.0.0:*                               5088/rpc.statd     
 udp        0      0 0.0.0.0:5353                0.0.0.0:*                               5400/avahi-daemon: 
 udp        0      0 0.0.0.0:111                 0.0.0.0:*                               5058/portmap       
 udp        0      0 :::1027                     :::*                                    5400/avahi-daemon: 
 udp        0      0 :::5353                     :::*                                    5400/avahi-daemon:

2 远程连接mysql

 c:\mysql -uadmin -psomething -h192.168.1.169 -P3306 test
 Welcome to the MySQL monitor.  Commands end with ; or \g.
 Your MySQL connection id is 1
 Server version: 5.0.67-log Source distribution
 
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
 mysql> select count(*) from  t1;
 +----------+
 | count(*) |
 +----------+
 |    11706 |
 +----------+
 1 row in set (0.03 sec)
 
 mysql> select count(*) from  t2;
 +----------+
 | count(*) |
 +----------+
 |     2882 |
 +----------+
 1 row in set (0.01 sec)

3 关闭linux防火墙,远程访问mysql,t1与t2表。

 3.1 linux:

 [root@localhost ~]# service iptables stop

 3.2 window:

 mysql> select * from t1,t2 where t1.id=t2.id;
 ……
 
 |   10 | abc10 |   10 |
 |   11 | abc11 |   11 |
 |   12 | abc12 |   12 |
 |   13 | abc13 |   13 |
 |   14 | abc14 |   14 |
 |   15 | abc15 |   15 |
 |   16 | abc16 |   16 |
 |    1 | abc1  |    1 |
 |    2 | abc2  |    2 |
 +------+-------+------+
 11706 rows in set (4.55 sec)

 大约5秒钟返回所有结果。

4 打开防火墙,远程访问t1,t2表,然后关闭3306端口

 4.1 linux:

 [root@localhost ~]# service iptables start

 4.2 windows:

 mysql> select * from t1,t2 where t1.id=t2.id;
 
 
 

 4.3 linux:

 [root@localhost ~]# iptables -A INPUT -p tcp -m tcp --dport 3306  -j DROP
 [root@localhost ~]# iptables -A OUTPUT -p tcp -m tcp --sport 3306  -j DROP


 这条查询持续30分钟以上没有返回结果。


5 结论:SQL没有返回结果,不排除与防火墙有关的可能。

  评论这张
 
阅读(73)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017