-
Notifications
You must be signed in to change notification settings - Fork 51
从 CentOS7 迁移到 Debian13 后 dbmw 服务崩溃:db_connect 仍指向 supergod 但新镜像不再创建该账号 #9
Open
Description
现象
从 centos7-qf1031 用 db-tool 备份/恢复迁移到 debian13-qf1031-latest 后,
dbmw_guild/dbmw_stat/dbmw_mnt 持续 SIGABRT 崩溃,DBErr 日志:
Can't connect db : ( dbname : d_taiwan, ip : 127.0.0.1, id : supergod ),
连带 s6-rc 报 "failed to bring all services up"、game_siroco 被 SIGKILL。
根因
centos7-qf1031的/docker-entrypoint.sh默认
DNF_DB_USER_EXTENDED_QF=supergod,chhappy,cash(注释:"清风版本需要额外的数据库用户"),
会自动创建这三个账号,且自带数据的d_taiwan.db_connect.db_userid = supergod。debian13-qf1031移除了该默认(DNF_DB_USER_EXTENDED默认空),
且默认db_connect.db_userid改为game。- db-tool 迁移正确地排除了 mysql 系统库,但
db_connect(业务表)带着supergod过来;
init-main-db.sh启动时只重写 db_connect 的 db_ip/db_port/db_passwd,不改 db_userid,
于是 dbmw 拿 supergod 连库,而新镜像没建该账号 → 崩。
影响
所有从 centos7-qf1031 迁移过来的用户都会中招,且迁移文档无任何提示。
建议
- 在「CentOS7→Debian13 迁移」文档补充:需设
DNF_DB_USER_EXTENDED=supergod,chhappy,cash,
或迁移后将db_connect.db_userid归一为game; - 或更好:init 迁移检测到 db_connect 使用非 game 账号时,自动对齐 db_userid 或提示。
环境
- 源:
llnut/dnf:centos7-qf1031-latest(MySQL 5.0,supervisor) - 目标:
llnut/dnf:debian13-qf1031-latest(MySQL 5.7.44,s6)
Metadata
Metadata
Assignees
Labels
No labels