sslMode 是 MySQL 连接串中用来指定 SSL 加密方式的参数。MySQL JDBC 连接器支持以下 SSL 模式:
DISABLED:不使用 SSL 加密。PREFERRED:优先使用 SSL 加密,但如果不可用,也可以使用非加密连接。REQUIRED:强制使用 SSL 加密,如果没有可用的 SSL 连接,连接尝试将失败。VERIFY_CA:类似于REQUIRED,但额外要求必须验证服务器的 SSL 证书是由信任的 CA 签发的。VERIFY_IDENTITY:类似于VERIFY_CA,但额外要求服务器的 SSL 证书必须确切匹配服务器的身份标识。
useSSL 和 requireSSL 是 MySQL 驱动程序中的参数,用来控制是否在客户端和服务器之间建立 SSL 连接。useSSL 通常用于 Java 连接器,而 requireSSL 用于其他语言的连接器。
sslMode 和 useSSL 之间的关系:sslMode 是高级设置,它覆盖了 useSSL 的设置,因为它能提供更多的控制和灵活性。如果你同时设置了 sslMode 和 useSSL,sslMode 将优先。
sslMode 和 requireSSL 之间的关系:sslMode 同样覆盖了 requireSSL 的设置,因为它是更通用的设置。
示例代码:
// 使用sslMode=REQUIRED确保SSL加密
String url = "jdbc:mysql://hostname:port/dbname?sslMode=REQUIRED";或者在连接字符串中使用 useSSL=true(对于兼容的 MySQL JDBC 驱动程序):
// 使用useSSL=true来确保SSL加密
String url = "jdbc:mysql://hostname:port/dbname?useSSL=true";请注意,具体的连接串参数可能会随着 MySQL 版本和 JDBC 驱动程序版本的不同而有所变化。始终建议参考最新的官方文档以获取最准确的信息。