Dify忘记管理员密码,重置的问题

今天本地win10电脑,使用源码启动dify,忘记了管理员账号和密码,于是网上查找解决办法。

1.有的网上资料说是去数据库删除用户表,于是进入数据库:

复制代码
docker exec -it docker-db-1 psql -U postgres -d dify

找到postgres数据中的表accounts,delete清空表里面的账号数据。

然后继续进入redis,

复制代码
docker exec -it docker-redis-1 sh

# docker exec -it docker-redis-1 sh
/data # redis-cli
127.0.0.1:6379> keys *
1) "refresh_token:7d177d5971609013a2c8a5634ce49de1d488332bb5961d8d69ce1a371a3abdeac65d9010df7a6f1e7c73508cbd6733e0c27e2235999ca593192919678ab688b4"
2) "reset_password:account:78837d37-83d0-4e21-88c0-25de52df8ee0"
3) "account_refresh_token:78837d37-83d0-4e21-88c0-25de52df8ee0"
4) "login_error_rate_limit:you-guess@qq.com"

# 查看过期时间,大概还剩23个多小时。。
127.0.0.1:6379> ttl login_error_rate_limit:you-guess@qq.com
(integer) 85202

# 删除这个Key
127.0.0.1:6379> del login_error_rate_limit:you-guess@qq.com
(integer) 1

我干脆直接清空了里面所有的key。发现在dify的install页面还是无法正常重置管理员账户信息(进入页面后它会自己重定向到登录页)。问题没解决。

2.调试前端代码,发现接口返回账号setup信息,于是去数据库清空dify_setups表数据内容。

然后页面会在/install和/signin页面中不断登录跳转来回。问题没解决。

3.于是使出终极大招,删除volumes下数据库相关的文件:

然后按照官网的指南,重新执行数据库的初始化。执行:

复制代码
docker compose -f docker-compose.middleware.yaml up -d

poetry run flask db upgrade

poetry run flask run --host 0.0.0.0 --port=5001 --debug

最后终于可以正常使用了。这里其实相当于重新部署项目了,旧数据已经被我删了,幸亏我这是开发环境,如果是生产环境,我建议还是进入数据库,修改密码之类的吧。否则数据肯定会丢失了。

如果有其他方法,欢迎一起留言讨论。

相关推荐
_Kayo_2 小时前
node.js 学习笔记3 HTTP
笔记·学习
Moshow郑锴3 小时前
人工智能中的(特征选择)数据过滤方法和包裹方法
人工智能
TY-20253 小时前
【CV 目标检测】Fast RCNN模型①——与R-CNN区别
人工智能·目标检测·目标跟踪·cnn
CareyWYR4 小时前
苹果芯片Mac使用Docker部署MinerU api服务
人工智能
失散134 小时前
自然语言处理——02 文本预处理(下)
人工智能·自然语言处理
CCCC13101635 小时前
嵌入式学习(day 28)线程
jvm·学习
mit6.8245 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
sinat_286945195 小时前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
星星火柴9366 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头6 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习