FAQ 数据库MySQL与SQLite选择与切换
Skeyevss FAQ数据库 MySQL 与 SQLite 选择与切换试用安装包下载 | SMS | 在线演示项目地址https://github.com/openskeye/go-vss1. 何时用 SQLite适合单机试用、开发本机、小规模验证。优点是无独立数据库进程、部署简单缺点是并发写入能力有限不适合多实例横向扩展与高吞吐生产。2. 何时用 MySQL适合生产环境、多服务实例、需要主从或备份策略的场景。业务数据与设备状态写入集中便于监控、迁移与权限审计。3. 环境变量如何切换在.env.local/.env.prod中通过SKEYEVSS_DATABASE_TYPE选择sqlite或mysql具体枚举以项目模板为准。切换到 MySQL 时还需配置主机、端口、库名、用户、密码连接池与超时若模板中提供确保DB RPC或依赖数据库的服务使用同一套连接配置。修改后需重启依赖数据库的进程。4. 迁移注意点从 SQLite 迁到 MySQL 不是简单改变量需要Schema 一致与数据导出导入可用官方/自建迁移脚本注意字符集推荐utf8mb4与排序规则避免国标 ID、中文名称乱码或索引异常迁移期间建议停写或只读窗口防止双写不一致。5. 常见故障连接拒绝MySQL 未监听0.0.0.0或 Docker 网络未互通认证失败用户 Host 限制为localhost而容器从内网 IP 接入Too many connections连接池配置过大或泄漏需结合监控调优。6. 运维建议生产环境对 MySQL 做定期备份、慢查询分析与磁盘容量告警SQLite 文件需纳入备份路径并避免多进程同时写同一文件。选型本质是规模与运维成本的权衡上线前在预发环境用与生产相同的数据库类型压测最稳妥。