在很段的时间内进行了很多次的存储过程的调用,会产生以下问题
# ERR: Lost connection to MySQL server during query (MySQL error code: 2013, SQLState: HY000 )
请问各位这是什么原因,请问怎么解决,谢谢
MYSQL的版本是5.1.36

解决方案 »

  1.   


    # ERR: Lost connection to MySQL server during query 
    -----------------------------
    错误都已经说明白了,所以,你试下改下配置文件参数然后重新启动mysql看看吧:超时时间:
    wait_timeout = 大点的值最大允许数据量:
    max_allowed_packet = 大点的值
      

  2.   

    如果上面的设置后不能解决,那就可能是打开文件句柄数受限制而引起的咯你检查下你的mysql现在打开了多少文件:
    mysql> show status like '%open%';再检查:
    mysql> show variables like '%open_files_limit%';再检查linux系统的打开文件限制数(假如你是linux):
    SAAS-DB2:~ # ulimit -a如果上面几项值出现了瓶颈,对应去协调修改即可。
      

  3.   

    有以下原因:
    1. 产生的结果集太大,导致发包失败。
    2. 产品BUG.
      

  4.   

    不是bug
    如果排除了超时或结果集大的情况外
    那就是相关文件句柄受限的原因了,只要合理即可以解决的。
      

  5.   

    时间: 
    wait_timeout = 大点的值  
    max_allowed_packet = 大点的值这两个我都设置了,问题依旧,
    我在WIN2003安装的MYSQL的
    目前问题还没有解决,有人说是在连接的时候设置了CLIENT_MULTI_STATEMENTS后,
    调用存储过程会很容易出错?会有这样的解释吗\?
      

  6.   

    show status like '%open%'; 
    show variables like '%open_files_limit%'; 
    这两句话的的结果是
    +--------------------------+-------+
    | Variable_name            | Value |
    +--------------------------+-------+
    | Com_ha_open              | 0     |
    | Com_show_open_tables     | 0     |
    | Open_files               | 6     |
    | Open_streams             | 0     |
    | Open_table_definitions   | 83    |
    | Open_tables              | 19    |
    | Opened_files             | 33076 |
    | Opened_table_definitions | 0     |
    | Opened_tables            | 0     |
    | Slave_open_temp_tables   | 0     |
    +--------------------------+-------+
    10 rows in set
    +------------------+-------+
    | Variable_name    | Value |
    +------------------+-------+
    | open_files_limit | 622   |
    +------------------+-------+
    1 row in set
      

  7.   

    那你把data目录下的err错误日志文件中在执行存储过程出错那时的错误日志贴出来看下
      

  8.   

    问题好像解决了,我用MYSQL5.1.36的库和头文件在重新编译,问题没有出现,我之前是使用5.0的库和头文件来编译的但用MYSQL5.1.36的库和头文件在重新编译,出现了新问题2014的问题,原来5.1版本在代码中处理多结果集和存储过程跟5.0不一样.谢谢各位,目前问题都解决了!