mirror of https://github.com/certd/certd
74 lines
2.7 KiB
Markdown
74 lines
2.7 KiB
Markdown
# 切换数据库
|
||
|
||
certd支持如下几种数据库:
|
||
1. sqlite3 (默认)
|
||
2. mysql
|
||
3. postgresql
|
||
|
||
您可以按如下两种方式切换数据库
|
||
|
||
|
||
## 一、全新安装
|
||
::: tip
|
||
以下按照`docker-compose`安装方式介绍如何使用mysql或postgresql数据库
|
||
如果您使用其他方式部署,请自行修改对应的环境变量即可。
|
||
:::
|
||
|
||
### 1.1、使用mysql数据库
|
||
|
||
1. 安装mysql,创建数据库 `(注意:charset=utf8mb4, collation=utf8mb4_bin)`
|
||
2. 下载最新的docker-compose.yaml
|
||
3. 修改环境变量配置
|
||
```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 # 数据库名
|
||
|
||
```
|
||
4. 启动certd
|
||
```shell
|
||
docker-compose up -d
|
||
```
|
||
|
||
|
||
### 1.2、使用Postgresql数据库
|
||
|
||
1. 安装postgresql,创建数据库
|
||
2. 下载最新的docker-compose.yaml
|
||
3. 修改环境变量配置
|
||
```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 # 数据库名
|
||
|
||
```
|
||
4. 启动certd
|
||
```shell
|
||
docker-compose up -d
|
||
```
|
||
|
||
## 二、从旧版的sqlite切换数据库
|
||
|
||
1. 先将`旧certd`升级到最新版 (`建议:备份sqlite数据库` )
|
||
2. 按照上面全新安装方式部署一套`新的certd` (`注意:新旧版本的certd要一致`)
|
||
3. 使用数据库工具将数据从sqlite导入到mysql或postgresql (`注意:flyway_history数据表不要导入`)
|
||
4. 重启新certd
|
||
5. 确认没有问题之后,删除旧版certd
|
||
|