今天主要折腾了两个方向:
- 智能体项目(Spring Boot + PostgreSQL)里遇到的登录失败问题。
- 用 Docker 搭建 Vue3 + Flask + MySQL 的库存管理小系统 Demo。
🔑 一、智能体项目:登录失败排查
遇到的问题
-
后端数据库连接失败
-
application.yml里配置的数据库账号/密码和实际 PostgreSQL 不一致,报错:password authentication failed for user ...
-
-
登录一直失败
- 前端输入
admin / 123456,后端日志能查到用户,但密码校验不通过。
- 前端输入
-
数据库密码是明文
system_users表里的password=123456(明文)。- 但后端逻辑是 带 salt 的双重 MD5,自然比对不上。
-
salt 字段为空
salt列是空值,后端校验必须用password + salt才能正确。
解决方法
-
修正数据库配置
在application.yml里改成正确的 PostgreSQL 账号/密码:username: postgres password: 123456 -
生成加密后的密码
后端用的加密逻辑:md5(md5("123456" + salt) + salt)用 Java 或 Python 算出加密结果。
-
更新数据库用户信息
在system_users表里执行:UPDATE system_users SET password = '<加密后的MD5>', salt = '67bb1f3dca25ffc420f04d2e' WHERE name = 'admin'; -
再次尝试登录
前端输入admin / 123456→ 后端比对成功 → 登录正常。
🐳 二、Docker Demo:Vue3 + Flask + MySQL
我用 Docker Compose 搭了一个简单的库存管理系统,分成 前端 / 后端 / 数据库 三个容器。
用到的 Docker 指令
docker pull <image>:拉取镜像,例如docker pull mysql:8.0docker build -t <name> .:构建镜像,-t指定名字docker run -p 主机端口:容器端口 <image>:运行容器并映射端口docker ps:查看正在运行的容器docker stop <容器名>:停止容器docker-compose up --build:构建并运行所有服务docker-compose down:停止并删除容器
遇到的问题 & 解决办法
-
拉取 Python 镜像失败
- 报错:
failed to fetch oauth token或EOF - 原因:访问不到 DockerHub
- ✅ 解决:换国内镜像源(阿里云/中科大/清华)
- 报错:
-
MySQL 端口冲突
- 报错:
ports are not available: 3306 - 原因:本机 MySQL 占用了 3306
- ✅ 解决:改成
3307:3306
- 报错:
-
前端访问不到(localhost:5173 报 404)
-
原因:Vite 默认只监听 127.0.0.1
-
✅ 解决:在
package.json改:"scripts": { "dev": "vite --host 0.0.0.0" }
-
-
前后端跨域问题
-
表现:浏览器请求 API 报 CORS 错误
-
✅ 解决:Flask 启用跨域
from flask_cors import CORS CORS(app)
-
-
数据库中文乱码
-
表现:MySQL 显示中文是乱码
-
✅ 解决:连接时加上
charset='utf8mb4'pymysql.connect(..., charset='utf8mb4')
-
-
Workbench 删除报错 (1175 Safe update mode)
-
原因:MySQL Workbench 默认安全模式,不允许无条件
DELETE -
✅ 解决:
- 写成
DELETE FROM items WHERE 1=1; - 或关闭 Safe Update 模式
- 写成
-
✅ 总结
- 智能体项目主要坑在 密码校验逻辑,需要处理好
salt和 MD5。 - Docker Demo 踩到的坑大多是 镜像下载 / 端口冲突 / 跨域 / 字符集 / Workbench安全模式。
- 折腾了一整天,总算跑起来了,前端能增删改查商品,后端能存 MySQL。