忘记密码的情况下修改mx-space后台密码
太久没上博客了发现忘记了后台密码,摸索了一下怎么重置密码,顺便记录一下 万一以后又要用呢
不过,还是建议加一个passkey或者sso登录更稳妥
连接MongoDB
mongosh
#如果开启了用户验证请使用
#mongosh -u 用户名 -p 密码 --authenticationDatabase admin
docker部署请先使用
docker exec -it mongo bash进入容器
修改密码
进入mx-space数据库(默认)
use mx-space生成密码
由于mx-space使用bcrypt 2b版本进行加密,并且大部分在线网站生成的是2a版本的bcrypt(我也不知道能不能用)),所以直接使用python加密
代码如下:
pip install bcrypt #安装依赖
python3 - <<'PY'
import bcrypt
pw=b"你的密码"
print(bcrypt.hashpw(pw, bcrypt.gensalt(rounds=10)).decode())
PY

示例
- 修改密码
修改前,先展示一下mx-space保存用户数据的字段
PS: 注释是我猜的 有误请见谅
mx-space> db.users.findOne() # 查询users的一条数据
{
_id: ObjectId('xxxxxxxxxxxxxxxxxxx'), // 用户id
username: 'username', // 用户名
name: 'name',// 昵称
password: '$2b$10$xxxxxxxxxxx', // 密码
mail: 'xxxx@example.com', // 邮件
apiToken: [], // api密钥
oauth2: [], // oauth2
created: ISODate('2020-08-01T08:04:53.138Z'), // 用户创建时间
lastLoginIp: '127.0.0.1', // 最后一次登录时的ip
lastLoginTime: ISODate('2025-09-27T08:00:00.709Z'), // 最后一次登录时的时间
avatar: 'https://example.com/avatar.png' // 头像url
}
按 username 修改密码:
db.users.updateOne(
{ username: "username" },
{ $set: { password: "$2b$10$xxxxxxxxxxxxxxx" } }
)
按邮箱修改密码:
db.users.updateOne(
{ mail: "xxxx@example.com" },
{ $set: { password: "$2b$10$xxxxxxxxxxxxxxx" } }
)
无需重启后端 立即生效