Lsky忘记邮箱和密码,重置密码操作
🔒 如何修改 Lsky Pro 管理员密码
在使用 Lsky Pro(一个开源图床系统)时,有时我们可能忘记了管理员邮箱和密码。本文将详细介绍 在 Docker 容器下获取管理员邮箱和修改密码 的完整流程。
📝 背景
- 系统:Lsky Pro
- 部署方式:Docker Compose
- 语言:PHP (Laravel 框架)
- 数据库:MySQL
- 密码存储:Laravel 的
bcrypt哈希注意:直接修改数据库中的密码字段需要使用 Laravel 的 bcrypt 哈希,否则无法登录。
�� 修改密码步骤
1️⃣ 进入 Lsky Pro 容器
首先列出 Docker 容器,找到 Lsky Pro 容器名称(假设为 lsky):
1 | docker ps |
然后进入容器:
1 | docker exec -it lsky bash |
此时你已经进入了容器的 Shell 环境。
2️⃣ 使用 Laravel Tinker 修改密码
Laravel 提供了 Tinker 工具,可以直接操作模型和数据库。
- 进入项目目录(通常为 /var/www/html):
1 | cd /var/www/html |
- 启动 Tinker:
1 | php artisan tinker |
- 在 Tinker 中执行以下命令修改管理员密码(假设管理员 ID 为 1,密码设置为 123456):
1 | $user = \App\Models\User::find(1); // 查看管理员用户邮箱 |
- 在Tinker 中验证明文密码是否匹配哈希:
1 | Hash::check('123456', '$2y$10$PMDLiwKMR2FLrhiGmdCmOu5xYWYeeZ/Cpp1UrWlvhQivIUOm./bI6'); |
输出:
1 | => true |
表示密码 123456 已正确生效。
- 退出 Tinker:
1 | exit |
3️⃣ 核对数据库中的密码哈希
去 MySQL 数据库 核对密码是否一致:
- 进入 MySQL 容器:
1 | docker exec -it lsky-db bash |
- 使用 root 用户登录 MySQL:
1 | mysql -u root -p |
输入 root 密码。
- 切换数据库:
1 | USE lsky; |
PS:用户名和root密码在docker-compose.yml内
- 查询用户密码哈希:
1 | SELECT id, name, password FROM users WHERE id = 1; |
输出示例:
1 | id name password |
🔹 如果数据库里的哈希值和 Tinker 输出的哈希值一致,则说明密码修改成功。
4️⃣ 验证登录
修改密码并核对哈希值后,重新访问 Lsky Pro 登录界面,使用新密码 123456 进行登录。
如果登录失败,请注意以下事项:
确认访问的是正确的数据库和容器环境
确认用户状态 status 为 1(启用)
你可以在 Tinker 中检查:
1 | $user->status |
如果返回值不是 1,请执行:
1 | $user->status = 1; |
✅ 总结
通过本文步骤,你可以在 Docker 容器中安全地修改 Lsky Pro 管理员密码:
- 进入 Docker 容器
- 使用 php artisan tinker 修改密码
- 保存并核对数据库中密码哈希值
- 确认登录成功
提示:使用 Laravel 提供的工具比直接操作数据库更安全,确保密码哈希正确。
评论




