[英]max_allowed_packet variable change not resolving Packet for query is too large error
我在 linux 机器上托管了 MYSQL 服务器。 我正在尝试从我的 Java 应用程序访问服务器。 在此过程中,我遇到了一条错误消息,该消息在指定的分辨率下似乎很常见。 我在 Mysql 服务器上尝试过同样的事情,即 my.cnf 并更新了 max_allowed_packet 并执行重启。
package com.test.ssh;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnectJDBC {
public static void main(String[] args) {
String url = "jdbc:mysql://10.20.30.40:32/BI_data" ;
String username = "testadmin";
String password = "ServerABC";
try {
Connection connection = DriverManager.getConnection(url,username,password);
System.out.println("Connected to the database");
} catch (SQLException e) {
System.out.println("Error!!");
e.printStackTrace();
}
}
}
看到的错误是
com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (4,739,923 > 65,535). You can change this value on the server by setting the 'max_allowed_packet' variable.
at mysql.connector.java@8.0.26/com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:107)
at mysql.connector.java@8.0.26/com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)
at mysql.connector.java@8.0.26/com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
at mysql.connector.java@8.0.26/com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
at mysql.connector.java@8.0.26/com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at com.test.ssh.ConnectJDBC.main(ConnectJDBC.java:18)
我的最终目标是通过 SSH 连接远程 MySQL 服务器。 但是这个问题阻碍了我的追求。 任何有关分辨率的输入都将非常有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.