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:[email protected]"

# 查看过期时间,大概还剩23个多小时。。
127.0.0.1:6379> ttl login_error_rate_limit:[email protected]
(integer) 85202

# 删除这个Key
127.0.0.1:6379> del login_error_rate_limit:[email protected]
(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

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

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

相关推荐
Rousson7 分钟前
硬件学习笔记--57 MCU相关资源介绍
笔记·单片机·mcu·学习
_一条咸鱼_1 小时前
Python 数据类型之可变与不可变类型详解(十)
人工智能·python·面试
_一条咸鱼_1 小时前
Python 语法入门之基本数据类型(四)
人工智能·深度学习·面试
2201_754918411 小时前
卷积神经网络--手写数字识别
人工智能·神经网络·cnn
_一条咸鱼_1 小时前
Python 用户交互与格式化输出(五)
人工智能·深度学习·面试
h汉堡1 小时前
C++入门基础
开发语言·c++·学习
_一条咸鱼_1 小时前
Python 流程控制之 for 循环(九)
人工智能·python·面试
_一条咸鱼_1 小时前
Python 语法入门之流程控制 if 判断(七)
人工智能·python·面试
_一条咸鱼_1 小时前
Python 流程控制之 while 循环(八)
人工智能·python·面试
_一条咸鱼_1 小时前
Python 垃圾回收机制 GC 深度解析(三)
人工智能·深度学习·面试