什么时候需要切换数据库
- 并发与数据量上来后,需要更强的并发能力与备份体系
- 需要主从、读写分离或企业运维能力
迁移前准备
- 备份:数据库文件/SQL 备份 + uploads + configs
- 确定目标库:MySQL 5.7+/PostgreSQL 10+
- 规划停机窗口:迁移过程尽量停止写入
1. 新建目标数据库与账号
在 MySQL/PostgreSQL 创建数据库与账号,并授予权限(示例):
# MySQL(示例)
CREATE DATABASE vvcms DEFAULT CHARSET utf8mb4;
CREATE USER 'vvcms'@'%' IDENTIFIED BY 'strong-pass';
GRANT ALL PRIVILEGES ON vvcms.* TO 'vvcms'@'%';
2. 修改 config.yaml(示例)
data:
db:
type: mysql
dsn: vvcms:strong-pass@tcp(127.0.0.1:3306)/vvcms?charset=utf8mb4&parseTime=True&loc=Local
3. 迁移与校验(思路)
- 优先查看系统是否提供“导出/导入/迁移”工具或命令
- 若无统一工具:可通过脚本/程序读取旧库写入新库(需要保证字段映射)
- 迁移后进行回归:登录/发布/搜索/留言/附件等关键路径
常见坑
- 字符集:建议统一 utf8mb4
- 时区:建议 Asia/Shanghai
- 索引/自增:注意主键与迁移后的自增起点