前言
之前团队内合作开发时候,在数据库的共享连接方面做法通常是传到ECS服务器上,这次发现一个云端的数据库部署托管平台,而且发现有一核一G的免费mysql云端数据库平台
Aiven.io 是一个提供开源数据平台即服务的云平台,支持多种数据库、消息队列和流处理服务。
Aiven地址:https://aiven.io/
在 Aiven 获取云端数据库
本教程以 Mysql 数据库为例
先注册,注册可能需要挂梯子

注册完后,点击 Create service,根据你需要的数据库服务类型选择,本教程以mysql为例

选择免费的计划,可以看到是一核 1GB 开发够用了

可以看到其云平台是在新加坡,但是实际上使用不需要梯子,按需要更改下面的 sql 数据库名

之后就是一顿点击,按需要更改其中的内容,来到如下页面

其中 Service URL 就是你的整体Mysql各种连接信息,Database name 是你的数据库名,Host 就是主机名
Variable | Description |
---|---|
USER_HOST |
Hostname for MySQL connection |
USER_PORT |
Port for MySQL connection |
USER_PASSWORD |
Password of your Aiven for MySQL connection |
DB_NAME |
Database Name of your Aiven for MySQL connection |
CA certificate 是 CA 证书,是需要下载下保存在你项目里的, 使用CA证书的SSL连接是连接到这个数据库的方式
等待其中的数据库从重载变成运行,就可以开始连接了,比较慢
到这里 Aiven 的申请云端数据库的部分就完成了,接下来就是连接了
连接到 Aiven 的云端数据库
使用 Navicat 连接
在 Navicat 的新建连接里,选择 SSL 连接,选择使用验证,把 CA 证书的地址放进去

回到常规,主机就是你上面 Aiven 服务器信息页面中的 Host,账号密码也是一样的

使用 DataGrip 和 IDEA 内置数据库插件工具连接

这里都是一样的,选择使用SSL,然后上传你的 CA文件

回到常规这里再编辑就可以了

这里我配过了,就没有演示,和 Navicat 是一样的
使用 MySQL 命令行连接
这里可以参考 Aiven 的官方文档 https://aiven.io/docs/products/mysql/howto/connect-from-cli#using-mysql
在终端中,运行以下代码:
1 | mysql --user 用户名 --password=密码 --host 你那个主机名Host --port 12100 数据库名 |
要确认连接是否正常工作,可以发出以下查询:
1 | select 1 + 2 as three; |
在你的 Spring Boot 项目中引入 Aiven 数据库
打开cmd,切换到 CA 证书的目录位置,输入以下命令
1 | keytool -importcert -alias myca -file ca.pem -keystore truststore.jks -storepass changeit |
该命令的作用是用于管理 Java 密钥库(JKS)的命令,主要作用是将 CA 证书(公钥)导入到 Java 信任库中,让 Java 应用程序信任该证书颁发机构(CA)签发的证书。
参数 | 作用 |
---|---|
-importcert |
指定执行证书导入操作。 |
-alias myca |
为导入的证书设置别名(myca ),用于在密钥库中标识该证书。 |
-file ca.pem |
指定要导入的证书文件路径(ca.pem ),通常是 PEM 格式的
CA 证书。 |
-keystore truststore.jks |
指定目标密钥库文件(truststore.jks )。如果文件不存在,会创建一个新的。 |
-storepass changeit |
指定密钥库的密码(changeit )。这是 Java
默认密钥库的初始密码。 |
当 Java 应用程序(如 HTTPS 客户端、SSL/TLS
连接)验证服务器证书时,会检查证书是否由信任库中的 CA 签发。通过导入 CA
证书,可以让 Java 信任该 CA 颁发的所有证书。如果应用程序连接 HTTPS
网站时出现 SSLHandshakeException
或
PKIX path building failed
错误,通常是因为 Java
不信任该网站的 CA 证书。导入对应的 CA 证书可以解决此问题。
输入以下命令验证证书是否导入成功
1 | keytool -list -v -keystore truststore.jks -storepass changeit | grep myca |
可以看到目录下的 pm.ca CA证书文件变成了一个 truststore.jks 文件

之后打开你的 spring boot 项目配置文件,对 mysql 数据库部分的配置进行修改
1 | # Aiven-Mysql Config |
如果你是 yml 配置
1 | # Aiven-Mysql Config |
接下来应该就可以了,启动项目,可以看到我的 Hibernate 已经为我自动创建表
