我有一个java程序,当我登录时,大约600,000毫秒(我实际上尝试了几次,它总是~600,000,这就是为什么我认为有些地方设置超时600,000毫秒)我的数据库连接崩溃,我的程序没有更长的工作(它总是需要连接到数据库).它给了我Communication link failure
错误.我这是我的mysql连接设置:
import java.sql.*;
import javax.swing.*;
public class mysqlconnect {
Connection conn = null;
public static Connection ConnectDb() {
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://server_name/database_name","user_name","user_password");
return conn;
}catch (Exception e) {
JOptionPane.showMessageDialog(null, "Cant connect to db");
return null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试添加?autoReconnect=true
&tcpKeepAlive
我的代码,但没有运气.有没有办法去phpmyadmin并在那里更改一些设置(增加超时时间)?
Öme*_*alı 29
SET SESSION wait_timeout = 999999;//or anything you want
Run Code Online (Sandbox Code Playgroud)
从mysql命令行那将增加超时值.为了能够看到价值:
SHOW VARIABLES LIKE 'wait_timeout';
Run Code Online (Sandbox Code Playgroud)
您可以发出此请求以在 MySql 中显示您的超时
SHOW VARIABLES LIKE 'connect_timeout';
Run Code Online (Sandbox Code Playgroud)
接下来,您可以将其更新为 60 秒,例如
SET GLOBAL connect_timeout=60;
Run Code Online (Sandbox Code Playgroud)
如果问题是您可以使用的查询 Statement.setQueryTimeout
小智 5
您可以通过以下方式设置wait_timeout
NET_read_timeout
并connect_timeout
解决问题。
SHOW VARIABLES LIKE 'wait_timeout';
SET SESSION wait_timeout = 999999;
SHOW variables LIKE 'NET_read_timeout';
SET SESSION net_read_timeout = 1000;
SHOW VARIABLES LIKE 'connect_timeout';
SET GLOBAL connect_timeout = 1000;
归档时间: |
|
查看次数: |
51025 次 |
最近记录: |