数据库迁移说明
数据库操作为高危操作,操作前请先备份好数据库
数据库操作为高危操作,操作前请先备份好数据库
数据库操作为高危操作,操作前请先备份好数据库
目前仅支持sqlite和mysql相互转换,不支持sqlite到sqlite,或者mysql到mysql
备份前的准备
操作数据库前,先停止服务端,避免备份时,依然在操作数据,导致数据出现不一致的情况
新的数据库最好为空数据库
先补全sqlite和mysql的配置
sqlite需要配置好sqlite.file文件地址
mysql配置好各项连接信息
yaml
# 后台管理监听的地址
address: 0.0.0.0:8080
auth-key: 44v7eu1y3afpmasf
auth-exp: 168h0m0s
auth-renew: 2h0m0s
db-type: sqlite
sqlite:
file: /usr/local/gostc-admin/data/data.db
log-level: info
mysql:
host: 127.0.0.1
port: 3306
db: table_name
user: root
pwd: root
prefix: gostc_
extend: ?timeout=3s&readTimeout=3s&writeTimeout=3s&parseTime=true&loc=Local&charset=utf8mb4,utf8
log-level: info
备份命令
shell
./server migrate sourceDbType targetDbType
migrate
固定参数
sourceDbType
旧数据库 sqlite/mysql
targetDbType
新数据库 sqlite/mysql
运行命令后,程序会根据参数从配置文件加载旧数据库的配置和新数据库的配置并连接,然后从旧数据库查询数据批量迁移到新的数据库中,运行完成后,修改配置文件的db-type字段为新数据库的类型切换至新数据库,启动服务即可完成
当sourceDbType为sqlite,targetDbType为mysql时,数据会从sqlite迁移至mysql,反之从mysql迁移至sqlite