但前天重新安装服务器的超作系统及Mysql数据库后(重新安装系统及Mysql前一切正常)把mysql安装目录的data目录拷贝覆盖新安装mysql目录的data目录一打开查询会员列表
当查询的列表大于30时服务器就会假死,网站也无法打开 $query = $_SGLOBAL['db']->query("SELECT uid,username,name,namestatus FROM ".tname('space')."
WHERE updatetime>'$wheretime' ORDER BY viewnum DESC LIMIT 0,35");
while ($value = $_SGLOBAL['db']->fetch_array($query)) 
当把上面红色部分写成0,10时正常
写成0,35服务器就假死~所有网页无法打开~服务器10分钟左右又恢复正常是什么问题?

解决方案 »

  1.   

    1、在MYSQL中直接执行SQL语句有无假死现象;
    2、表是什么引擎,看看错误日志、慢日志,看看有无相关信息。
      

  2.   

    检查一下max_connections 变量是值是多少,估计是太小了,在 my.ini 或 my.cnf 中设置一下。mysql> show variables like 'max_connections';
    +-----------------+-------+
    | Variable_name   | Value |
    +-----------------+-------+
    | max_connections | 100   |
    +-----------------+-------+
    1 row in set (0.00 sec)mysql>另外看一下系统的错误日志中有什么信息。
      

  3.   

    max_connections 值是1210应用程序错误日志:
    E:\MySQL Server 5.0\bin\mysqld-nt: Table '.\yltbbs\qyllt_statvars' is ed as crashed and should be repaired
    应用程序警告日志:
    Changed limits: max_open_files: 2048  max_connections: 1210  table_cache: 414我看不出什么问题
      

  4.   

    建议先修下表
    repair table xx;然后,在执行limit 0,35时候在MySQL>show processlist;
    看看有多少个线程并发
      

  5.   

    先按楼上所说修复一下你的表吧 
    repair table qyllt_statvars;
      

  6.   

    换最新的Mysql试试~~
    4.x版本有可能有这种情况的
      

  7.   

    Changed limits: max_open_files: 2048  max_connections: 800  table_cache: 619这个应用程序警告是什么意思?
      

  8.   

    repaire table 之后情况如何?Changed limits: max_open_files: 2048  max_connections: 800  table_cache: 619
    这只是个警告信息,系统自动将你设置调整到这个数字了,估计你在my.ini中设置的值过大了,内存无法容纳。 你会有同时 800 个在线用户访问你的数据库?! 从经验上来说,似乎有些太大了。
      

  9.   

    repaire table 之后情况如何?repaire table 之后还是我一楼所描述的情况~~~
      

  10.   

     max_open_files: 2048  max_connections: 800  table_cache: 619把这几个参数调小一些呢试试
      

  11.   

    max_connections=500 一样的效果~~郁闷啊~找不到原因~~~
      

  12.   

    谁有QQ或MSN~~留一个我联系请教下~~马上结帖给分~~~