2026-10-16-reset-weak-password-111111.sql 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. -- =============================================================================
  2. -- 弱密码刷新说明:111111 → Zkxw@123
  3. -- 日期:2026-10-16
  4. -- =============================================================================
  5. --
  6. -- 重要:sys_user.password 存储 bcrypt 哈希(每次盐随机),
  7. -- 不能用下列语句命中弱密码用户:
  8. -- WHERE password = '111111' -- 无效
  9. -- WHERE password LIKE '%111111%' -- 无效
  10. --
  11. -- 推荐:用 Python 脚本,并通过变量指定目标库(勿依赖本机默认 .env 误连生产)。
  12. --
  13. -- cd backend && source venv/bin/activate
  14. --
  15. -- # 方式 A:完整 URL
  16. -- python scripts/reset_weak_password_111111.py \
  17. -- --database-url 'mysql+pymysql://USER:PASS@HOST:3306/DBNAME' --dry-run
  18. --
  19. -- # 方式 B:分项变量
  20. -- python scripts/reset_weak_password_111111.py \
  21. -- --db-host HOST --db-port 3306 --db-user USER --db-password 'PASS' --db-name DBNAME --dry-run
  22. --
  23. -- # 方式 C:指定环境文件
  24. -- python scripts/reset_weak_password_111111.py --env-file ./.env.test --dry-run
  25. --
  26. -- # 正式写入:去掉 --dry-run
  27. --
  28. -- 脚本行为:校验 del_flag=0 的用户口令是否为明文 111111(含停用账号),
  29. -- 命中则更新为 Zkxw@123 的新 bcrypt 哈希。
  30. --
  31. -- =============================================================================
  32. -- 以下仅为「已知单个用户 id」时的手工 UPDATE 模板。
  33. -- 哈希由本机生成示例(明文 Zkxw@123,bcrypt cost 12),部署前请用 Python 重新生成:
  34. -- python -c "from app.core.security import get_password_hash; print(get_password_hash('Zkxw@123'))"
  35. -- =============================================================================
  36. -- 示例哈希(仅供手工单用户更新参考;批量请用脚本):
  37. -- $2b$12$ULvPCr6g9IUmI8K7nlGU5emk7hupaAz4WgFdEoQBe935Wh1pVYKCK
  38. -- UPDATE sys_user
  39. -- SET password = '$2b$12$ULvPCr6g9IUmI8K7nlGU5emk7hupaAz4WgFdEoQBe935Wh1pVYKCK',
  40. -- update_time = NOW()
  41. -- WHERE id = '<user_id>'
  42. -- AND del_flag = 0;
  43. -- 执行前请备份 sys_user;执行后通知用户使用新密码并建议登录后自行修改。