JDBC连接器默认SSL/TLS加密如何关闭?MariaDB SSH连接报错求助
解决MariaDB JDBC连接加密报错问题
你的核心问题是JDBC URL的参数格式错误,导致encrypt=false根本没被驱动识别。JDBC参数需要用?开头、&分隔,而不是用/拼接——你写的/encrypt=false会被当成数据库路径的一部分,完全起不到关闭加密的作用。
正确的代码写法
修改URL的参数拼接方式,同时建议补充useSSL=false(部分MariaDB JDBC驱动版本需要这个参数配合关闭加密):
url = "jdbc:mysql://" + databaseURI.trim() + "/" + databaseSchema + "?encrypt=false&useSSL=false"; connection = DriverManager.getConnection(url, databaseUserName, databasePassword);
额外排查项
- 确认PuTTY的端口转发配置:本地映射的端口要和JDBC URL里的端口完全一致,且该端口没有被其他程序占用
- 如果仍有报错,可尝试添加
allowPublicKeyRetrieval=true参数(注意:该参数会降低连接安全性,仅在服务商明确允许的场景下使用) - 检查JDBC驱动版本,优先使用MariaDB官方驱动(
org.mariadb.jdbc:mariadb-java-client),避免MySQL驱动的兼容问题
内容的提问来源于stack exchange,提问作者dickyplace
相关产品推荐
相关产品推荐

