JDBC 使用 SSL 连接到 MySQL 的命令字符串
Command string for JDBC connection to MySQL with SSL
我正在尝试将数据建模工具 (DbSchema) 连接到 Google 云 SQL 中的 MySQL 数据库 运行。云实例需要 SSL。我已经将必要的密钥下载到我的 Mac 并且可以通过某些工具进行连接,例如 Sequel Pro 和 MySQL Workbench。但是,这些工具为我提供了一种将关键位置输入到它们的连接中的方法 windows。但是,DbSchema 没有——它所做的只是允许我修改它用于通过 JDBC 连接到数据库的连接字符串。
我目前拥有的是:
jdbc:mysql://<MY IP ADDRESS>:3306?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=true&verifyServerCertificate=false
虽然我使用的 PW 是正确的,但这最终会给我一个密码错误。我认为问题是 JDBC 没有使用 SSL 密钥。有没有办法在此连接字符串中指定 SSL 密钥的位置?
这篇MySQL JDBC (for SSL) link可能会对您有所帮助。请参阅设置客户端身份验证:
Once you have the client private key and certificate files you want to
use, you need to import them into a Java keystore so that they can be
used by the Java SSL library and Connector/J. The following
instructions explain how to create the keystore file:
将客户端密钥和证书文件转换为 PKCS #12 存档:
shell> openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem \
-name "mysqlclient" -passout pass:mypassword -out client-keystore.p12
将客户端密钥和证书导入 Java 密钥库:
shell> keytool -importkeystore -srckeystore client-keystore.p12 -srcstoretype pkcs12 \
-srcstorepass mypassword -destkeystore keystore -deststoretype JKS -deststorepass mypassword
设置JDBC连接属性:
clientCertificateKeyStoreUrl=file:path_to_truststore_file
clientCertificateKeyStorePassword=mypassword
我正在尝试将数据建模工具 (DbSchema) 连接到 Google 云 SQL 中的 MySQL 数据库 运行。云实例需要 SSL。我已经将必要的密钥下载到我的 Mac 并且可以通过某些工具进行连接,例如 Sequel Pro 和 MySQL Workbench。但是,这些工具为我提供了一种将关键位置输入到它们的连接中的方法 windows。但是,DbSchema 没有——它所做的只是允许我修改它用于通过 JDBC 连接到数据库的连接字符串。
我目前拥有的是:
jdbc:mysql://<MY IP ADDRESS>:3306?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=true&verifyServerCertificate=false
虽然我使用的 PW 是正确的,但这最终会给我一个密码错误。我认为问题是 JDBC 没有使用 SSL 密钥。有没有办法在此连接字符串中指定 SSL 密钥的位置?
这篇MySQL JDBC (for SSL) link可能会对您有所帮助。请参阅设置客户端身份验证:
Once you have the client private key and certificate files you want to use, you need to import them into a Java keystore so that they can be used by the Java SSL library and Connector/J. The following instructions explain how to create the keystore file:
将客户端密钥和证书文件转换为 PKCS #12 存档:
shell> openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem \ -name "mysqlclient" -passout pass:mypassword -out client-keystore.p12
将客户端密钥和证书导入 Java 密钥库:
shell> keytool -importkeystore -srckeystore client-keystore.p12 -srcstoretype pkcs12 \ -srcstorepass mypassword -destkeystore keystore -deststoretype JKS -deststorepass mypassword
设置JDBC连接属性:
clientCertificateKeyStoreUrl=file:path_to_truststore_file clientCertificateKeyStorePassword=mypassword