300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 无法将mysql服务器连接到_无法从java连接到mysql服务器

无法将mysql服务器连接到_无法从java连接到mysql服务器

时间:2024-07-29 15:18:00

相关推荐

无法将mysql服务器连接到_无法从java连接到mysql服务器

我在这行代码中收到错误“Communications link failure”:

mySqlCon = DriverManager.getConnection("jdbc:mysql://**server ip address**:3306/db-name", "mu-user-name", "my-password");

我检查了this post中的所有内容:

>我在etc / mysql中增加了f中的max-allowed-packet:max_allowed_pa​​cket = 5073741824 —— [mysqldump] max_allowed_pa​​cket = 1G

>绑定地址是:127.0.0.1

>所有超时值都等于一个数字

> Tomcat尚未安装在服务器上(新服务器)

> f中没有跳过网络

>我可以ping服务器

>我通过ssh连接到mysql数据库

当我将查询字符串更改为:

mySqlCon = DriverManager.getConnection("jdbc:mysql://**server ip address**:22/127.0.0.1:3306/db-name", "mu-user-name", "my-password");

我得到错误包查询太大(4739923> 1048576).您可以通过设置max_allowed_pa​​cket’变量在服务器上更改此值.

虽然我已经改变了f上的数据包大小,然后重新启动了mysql服务.

有什么建议?

注意:

我可以通过ssh与这段代码连接,但这种方式似乎不合理!我可以在main中连接一次然后我应该将连接传递给所有类.

public my-class-constructor() {

try {

go();

} catch (Exception e) {

e.printStackTrace();

}

mySqlCon = null;

String driver = "com.mysql.jdbc.Driver";

String url = "jdbc:mysql://" + rhost + ":" + lport + "/";

String db = "my-db-name";

String dbUser = "dbuser";

String dbPasswd = "pass";

try {

Class.forName(driver);

mySqlCon = DriverManager.getConnection(url + db, dbUser, dbPasswd);

} catch (Exception e) {

e.printStackTrace();

}

}

public static void go() {

String user = "ssh-user";

String password = "ssh-pass";

String host = "ips-address";

int port = 22;

try {

JSch jsch = new JSch();

Session session = jsch.getSession(user, host, port);

lport = 4321;

rhost = "localhost";

rport = 3306;

session.setPassword(password);

session.setConfig("StrictHostKeyChecking", "no");

System.out.println("Establishing Connection...");

session.connect();

int assinged_port = session.setPortForwardingL(lport, rhost, rport);

System.out.println("localhost:" + assinged_port + " -> " + rhost

+ ":" + rport);

} catch (Exception e) {

System.err.print(e);

e.printStackTrace();

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。