fix: deploy.sh 用 printf 管道执行 SQL,避免密码含 @ 等特殊字符导致失败
这个提交包含在:
父节点
c161118e8a
当前提交
cf09a1a311
@ -611,12 +611,11 @@ done
|
||||
|
||||
# 创建 bugcollect 数据库(独立库,Flyway 自动建表)
|
||||
MYSQL_CTR_INIT="$(docker ps -qf name=mysql | head -1)"
|
||||
docker exec "$MYSQL_CTR_INIT" mysql -u root -p"${MYSQL_ROOT_PASSWORD}" -e \
|
||||
"CREATE DATABASE IF NOT EXISTS xuqm_bugcollect DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" 2>/dev/null \
|
||||
&& docker exec "$MYSQL_CTR_INIT" mysql -u root -p"${MYSQL_ROOT_PASSWORD}" -e \
|
||||
"GRANT ALL PRIVILEGES ON xuqm_bugcollect.* TO '${MYSQL_USERNAME}'@'%'; FLUSH PRIVILEGES;" 2>/dev/null \
|
||||
# 用 printf 写 SQL 文件再执行,避免密码含特殊字符(如 @)导致 shell 解析失败
|
||||
printf "CREATE DATABASE IF NOT EXISTS xuqm_bugcollect DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nGRANT ALL PRIVILEGES ON xuqm_bugcollect.* TO '%s'@'%%';\nFLUSH PRIVILEGES;\n" "$MYSQL_USERNAME" \
|
||||
| docker exec -i "$MYSQL_CTR_INIT" mysql -u root -p"${MYSQL_ROOT_PASSWORD}" 2>/dev/null \
|
||||
&& ok "xuqm_bugcollect 数据库已创建" \
|
||||
|| warn "xuqm_bugcollect 数据库创建失败(可能已存在或密码含特殊字符,需手动创建)"
|
||||
|| warn "xuqm_bugcollect 数据库创建失败(可能已存在,需手动创建)"
|
||||
|
||||
# 等待 Redis 就绪
|
||||
for i in $(seq 1 10); do
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户