1 mysql jdbc max-allowed-packet
我正在尝试连接到我的raspbery pi. 我已经mysql在 pi 上下载并已经在那里创建了一个数据库。我正在尝试使用驱动程序管理器进行连接。
这是我的代码:
public static void main(String[] args) {
try {
String host = "jdbc:mysql://scheduleit.duckdns.org:99/scheduleit";
String uName = username;
String uPass = password;
Connection con = DriverManager.getConnection(host, uName, uPass);
} catch (SQLException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我已进入配置文件并将[ ] 更改max_allowed_packet为。我查看了其他配置文件,但无法找到另一个要编辑的 max_allowed_packet 字段。另外,我使用了命令:in 。32MmysqldumpSET GLOBAL max_allowed_packet=32M;mysql
我很好奇的一件事是主机名是否错误。我使用端口 99 ssh 进入 pi,但也许我在连接 ? 时使用不同的端口DriverManager。默认端口mysql是 3306,我尝试过,但没有建立连接。
最后,我使用的mariadb是 ,据我了解,它本质上是 mysql,因为我使用该命令登录mysql -u root -p。任何帮助将非常感激。
MySQL 服务器和客户端(在本例中为 JDBC)都必须增加 max_allowed_packet 的设置。最大值实际上是客户端和服务器配置中的较小者。
对于服务器,您可以使用 来更改它SET GLOBAL max_allowed_packet。您还应该在服务器的my.cnf文件中更改它,因为SET GLOBAL服务器重新启动时更改会丢失。
对于客户端,正如 Michael 上面评论的那样,您可以将其指定为 JDBC URL 中的属性。除了 JDBC 属性以驼峰命名法拼写外。
String host = "jdbc:mysql://scheduleit.duckdns.org:99/scheduleit?maxAllowedPacket=33554432";
Run Code Online (Sandbox Code Playgroud)
有关 JDBC URL 属性的更多文档,请参阅https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html 。
| 归档时间: |
|
| 查看次数: |
2773 次 |
| 最近记录: |