分享到:
发表于 2009-06-24 16:57:14 楼主 | |
程序提示 MySQL server has gone away,..., 在网上查看需设置wait_timeout,第一个问题: 在[mysqlhotcopy]下: wait_timeout=2880000 interactive_timeout = 2880000 好像不行,非得在 [mysqld] 下设置吗? 如果设置后,程序中 在连接数据库地时候还需要设置CLIENT_INTERACTIVE 参数吗? 第二个问题:如果设置 wait_timeout=0; 会永久连接而不中断吗 希望有经验的热心朋友给予指导,谢谢 |
|
楼主热贴
个性签名:无
|
发表于 2009-06-24 16:57:36 1楼 | |
![]() ========================= mysqlhotcopy下面的选项就只有在使用mysqlhotcopy的时候才会被影响——>mysqlhotcopy下面有wait_timeout吗? 在mysql的选项下有个connect_timeout是用于控制使用mysql客户端的链接超时的,这个指的是在服务器告知等待连接成功或者不成功的时间,如果超过这个时间那么就提示连接失败; 在mysqld的选项下面有个wait_timeout指的是客户端(任意客户端,如jdbc,odbc,mysql,etc)在连接成功之后,如果超过这个时间都没有任何动作,那么服务器就关闭这个连接的时间。 |
|
发表于 2009-06-24 16:57:48 2楼 | |
在mysqld的选项下面设置wait_timeout和interactive_timeout 后, 在连接数据库地时,程序中还需要设置CLIENT_INTERACTIVE 参数吗? 如果设置 wait_timeout=0; 会永久连接而不中断吗 |
|
发表于 2009-06-24 16:57:58 3楼 | |
如果在mysqld下面设置的话,影响的是所有的数据库连接,所以你的程序也会被影响。其中wait_timeout是影响非交互式的连接,而interactive_timeout是影响交互式的连接。而区分一个连接是否是交互式连接的标识是mysql_real_connect()的client_flag参数。不知道你是不是用的MySQL的C API,你可以自己参考一下文档,上面说的比较清楚。 wait_timeout的值最小值是1,如果你设置成0,mysql还是会帮你变成1,interactive_timeout也是一样。 |
|
发表于 2009-06-24 16:58:08 4楼 | |
在mysqld的选项下面wait_timeout和interactive_timeout 都设置后重启mysql, 用的是C API 的MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag) 将最后一个参数client_flag 设为0 是否可行? |
|
针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员 、 查看帮助 或 给我提意见