问题描述
我已将 MariaDB 作为 pod 部署到 k8s 集群中。 DB 启用 SSL 模式,这将不允许用户/客户端在没有证书的情况下登录到 DB。所以我们不能使用用户名和密码登录数据库。我们必须只使用证书才能这样做。
用户创建声明:
CREATE USER 'test'@'%' REQUIRE X509;
GRANT ALL ON *.* TO 'test'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
所以我们在创建用户时没有使用任何密码。
MysqL -utest --ssl-key=/keys/peer-key.pem --ssl-cert=/certificates/peer.pem --ssl-ca=/ca/cacerts.pem
所以我尝试在 spring boot 应用端启用 mariadb 上的 SSL 模式,如下所示:
spring.datasource.url=jdbc:mariadb://IP:3306/myDB?useSSL=true&trustServerCertificate=true&serveRSSlCert=/certificates/peer.pem&disableSslHostnameVerification=true
spring.datasource.username=test
spring.datasource.password=
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
Current charset is UTF-8. If password has been set using other charset,consider using option 'passwordCharacterEncoding'
版本:
mariadb: MysqL Ver 15.1 distrib 10.4.12-MariaDB,for Linux (x86_64) using readline 5.1
mariadb-java-client: 2.7.2
spring boot: 2.3.4
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)