我怎么能将mysql wait_timeout改为无限

时间:2015-09-08 06:53:06

标签: mysql

我有这个配置

mysql> SHOW VARIABLES where Variable_name like '%timeout';
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| connect_timeout            | 5     | 
| delayed_insert_timeout     | 300   | 
| innodb_lock_wait_timeout   | 50    | 
| innodb_rollback_on_timeout | OFF   | 
| interactive_timeout        | 28800 | 
| net_read_timeout           | 30    | 
| net_write_timeout          | 60    | 
| slave_net_timeout          | 7200  | 
| table_lock_wait_timeout    | 50    | 
| wait_timeout               | 28800 | 
+----------------------------+-------+
10 rows in set (0.01 sec)

mysql>

我需要长时间连接,想要无限制超时。

看看我的php源码。

<?php
$link = @mysql_connect("localhost","root",$pw);
...
mysql_query($query,$link);
...
// A long time flows (maybe 28,800sec)
mysql_query($query,$link); // error !!
?>

请告知。

2 个答案:

答案 0 :(得分:1)

答案是。您不能将wait_timeout设置为无限制。

您可以参考MYSQL wait_timeout

但是如果你想改变它,你可以尝试这样:

SET GLOBAL connect_timeout=....;

答案 1 :(得分:0)

wait_timeout有一个限制。此配置值可以放入配置文件my.cnf(对于unix)/ my.ini(对于Windows)中。

Type    Integer
Default Value           28800;
Minimum Value           1;
Maximum Value (Other)   31536000;
Maximum Value (Windows) 2147483

在上述范围内的配置文件中分配wait_timeout并重新启动mysql服务器。