接続プールのタイムアウトが自動的に切断されgolang SQLデータベース - > 127.0.0.1:3 306:wsarecv:Anが接続がホストマシンにソフトウェアによって中止されました設立。

MySQLのデータベースは、データベース自体は、この時間をかけて、タイムアウトを持っている場合、データベースは自動的に切断されます

Viewデータベースの切断時間

「%タイムアウト%」のようなグローバル変数を表示

主には、interactive_timeoutおよびWAIT_TIMEOUTの値を表示します。(インタラクティブ接続用は、interactive_timeout、CLIENT_INTERACTIVEオプションにmysql_real_connectで使用される、いわゆる非対話型の接続、すなわち、()関数のWAIT_TIMEOUT。インタラクティブな接続が。を通じて、対話型接続を介して、ぶっきらぼうにmysqlクライアントのデータベースを、それを入れて接続の種類に応じて、接続開始は、セッション変数の値を確認するためのJDBC接続された非対話型データベース接続は、グローバル変数WAIT_TIMEOUT、または秒は、interactive_timeout WAIT_TIMEOUTを継承されます)

オープン接続の最大数を設定するためSetMaxOpenConnsは、0のデフォルト値は制限がないことを示します。
接続数のためSetMaxIdleConnsアイドル設定。
SetConnMaxLifetime(time.Duration(8 * 3600) * time.Second)// 設定されたタイムアウト(デフォルトは恒久的に設定されていません)

データベース接続なしの長い時間のためのSQLX接続プールは、データベースが自動的に切断された場合、この時間は接続エラーになります。そこでは、問題をあります

[mysqlの] 2019年12月25日午後8時04分44秒packets.go:36:127.0.0.1:60160->127.0.0.1:3 TCP読ん
306:wsarecvを:Anは、あなたのホストのソフトウェアによって中止された接続を確立した
マシン。

解決策2:

1データベース接続障害が自動的にデータベースに接続する前に(推奨)。

2セットSetConnMaxLifetime満了時間、及び故障までの時間は、データベースSetConnMaxLifetimeに一致している(time.Duration(* 3600 8)* time.Second)

 

おすすめ

転載: www.cnblogs.com/hailong88/p/12098810.html