top
Loading...
8.3.4.3.禁用mysql自動連接
8.3.4.3. 禁用mysql自動連

如果mysql客戶程序發送查詢時斷開與服務器的連接,它立即并自動嘗試重新連接服務器并再次發送查詢。然而,即使mysql重新連接成功,你的第1個連接也已經結束,并且以前的會話對象和設定值被丟失:包括臨時表、自動提交模式,以及用戶和會話變量。該行為很危險,如下面的例子所示,服務器將在你不知道的情況下關閉并重啟:

mysql> SET @a=1;
Query OK, 0 rows affected (0.05 sec)
 
mysql> INSERT INTO t VALUES(@a);
ERROR 2006: MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    1
Current database: test
 
Query OK, 1 row affected (1.30 sec)
 
mysql> SELECT * FROM t;
+------+
| a    |
+------+
| NULL |
+------+
1 row in set (0.05 sec)

@a用戶變量已經隨連接丟失,并且重新連接后它也沒有定義。如果有必要在連接斷開時終止mysql并提示錯誤,你可以用--skip-reconnect選項啟動mysql客戶程序。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/client-side-scripts.html
北斗有巢氏 有巢氏北斗