我看到JDBC MySQL驅動程序在10秒後一直失敗連接嘗試停止MySQL,但我想更改該超時。如何在MySQL JDBC驅動程序上設置連接超時?
我嘗試在連接URI中添加?connectTimeout = 2000 & socketTimeout = 2000,但這沒有什麼區別。
有沒有辦法自定義連接到MySQL時驅動程序返回超時需要多長時間?
謝謝!
愛德華
我看到JDBC MySQL驅動程序在10秒後一直失敗連接嘗試停止MySQL,但我想更改該超時。如何在MySQL JDBC驅動程序上設置連接超時?
我嘗試在連接URI中添加?connectTimeout = 2000 & socketTimeout = 2000,但這沒有什麼區別。
有沒有辦法自定義連接到MySQL時驅動程序返回超時需要多長時間?
謝謝!
愛德華
您可以更改MySQL配置文件中的默認值(連接超時mysqld中的部分選項) - 如果這個文件是不是你訪問
[mysqld]
connect-timeout=100
,那麼你可以設置這個使用此語句值 -
SET GLOBAL connect_timeout=100;
您可以使用此設置連接超時:
con.query('SET GLOBAL connect_timeout=2000')
con.query('SET GLOBAL wait_timeout=2000')
con.query('SET GLOBAL interactive_timeout=2000')
如需更多幫助,請參閱MySqlConnection
我嘗試添加?connectTimeout = 2000 &了socketTimeout = 2000的連接URI,但並沒有發揮作用。
這正是它的配置,如
jdbc:mysql://aaa.bbb.ccc.rds.amazonaws.com:1234/hello?connectTimeout=5000&socketTimeout=30000
見https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html。
我很困惑....不是一個mysql守護進程設置。如果你想讓該設置成爲客戶端,該怎麼辦?即。我的客戶端可能沒有來自守護程序服務器的設置,對吧?或者我得到這個錯誤? –
這是MySQL服務器上的設置。對於試圖在服務器停止時連接到該服務器的客戶端不會產生任何影響。 –