如何在无密码的ssl模式下从spring启动应用程序连接mariadb

yptwkmov  于 2021-07-23  发布在  Java
关注(0)|答案(0)|浏览(332)

我已经把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

因此,我尝试在mariadb上为spring boot应用程序端启用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

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题