切换数据库
certd支持如下几种数据库:
- sqlite3 (默认)
- mysql
- postgresql
您可以按如下两种方式切换数据库
一、全新安装
TIP
以下按照docker-compose
安装方式介绍如何使用mysql或postgresql数据库
如果您使用其他方式部署,请自行修改对应的环境变量即可。
1.1、使用mysql数据库
- 安装mysql,创建数据库
(注意:charset=utf8mb4, collation=utf8mb4_bin)
- 下载最新的docker-compose.yaml
- 修改环境变量配置
yaml
services:
certd:
environment:
# 使用mysql数据库,需要提前创建数据库 charset=utf8mb4, collation=utf8mb4_bin
- certd_flyway_scriptDir=./db/migration-mysql # 升级脚本目录 【照抄】
- certd_typeorm_dataSource_default_type=mysql # 数据库类型, 或者 mariadb
- certd_typeorm_dataSource_default_host=localhost # 数据库地址
- certd_typeorm_dataSource_default_port=3306 # 数据库端口
- certd_typeorm_dataSource_default_username=root # 用户名
- certd_typeorm_dataSource_default_password=yourpasswd # 密码
- certd_typeorm_dataSource_default_database=certd # 数据库名
- 启动certd
shell
docker-compose up -d
1.2、使用Postgresql数据库
- 安装postgresql,创建数据库
- 下载最新的docker-compose.yaml
- 修改环境变量配置
yaml
services:
certd:
environment:
# 使用postgresql数据库,需要提前创建数据库
- certd_flyway_scriptDir=./db/migration-pg # 升级脚本目录 【照抄】
- certd_typeorm_dataSource_default_type=postgres # 数据库类型 【照抄】
- certd_typeorm_dataSource_default_host=localhost # 数据库地址
- certd_typeorm_dataSource_default_port=5433 # 数据库端口
- certd_typeorm_dataSource_default_username=postgres # 用户名
- certd_typeorm_dataSource_default_password=yourpasswd # 密码
- certd_typeorm_dataSource_default_database=certd # 数据库名
- 启动certd
shell
docker-compose up -d
二、从旧版的sqlite切换数据库
- 先将
旧certd
升级到最新版 (建议:备份sqlite数据库
) - 按照上面全新安装方式部署一套
新的certd
(注意:新旧版本的certd要一致
) - 使用数据库工具将数据从sqlite导入到mysql或postgresql (
注意:flyway_history数据表不要导入
) - 重启新certd
- 确认没有问题之后,删除旧版certd