# 快速修复登录问题 ## 🚀 快速修复步骤 ### 方法1:执行修复脚本(推荐) ```bash # 在book项目根目录执行 mysql -u root -p books_db < src/main/resources/db/fix_admin_user.sql ``` ### 方法2:手动执行SQL ```sql -- 1. 连接到MySQL mysql -u root -p books_db -- 2. 删除已存在的admin用户 DELETE FROM `users` WHERE `username` = 'admin'; -- 3. 创建新的管理员账号 INSERT INTO `users` (`username`, `nickname`, `password`, `role`, `status`, `created_at`, `updated_at`) VALUES ('admin', '管理员', '0192023a7bbd73250516f069df18b500', 'admin', 1, NOW(), NOW()); -- 4. 验证 SELECT id, username, role, status FROM `users` WHERE `username` = 'admin'; ``` ### 方法3:更新现有用户 如果admin用户已存在,但信息不正确: ```sql -- 更新admin用户信息 UPDATE `users` SET `password` = '0192023a7bbd73250516f069df18b500', `role` = 'admin', `status` = 1, `updated_at` = NOW() WHERE `username` = 'admin'; ``` ## ✅ 验证修复 执行以下SQL检查管理员账号: ```sql SELECT username, password, role, status, CASE WHEN password = '0192023a7bbd73250516f069df18b500' AND role = 'admin' AND status = 1 THEN '账号信息正确' ELSE '账号信息不正确' END AS status_check FROM `users` WHERE `username` = 'admin'; ``` ## 🔑 默认管理员账号 - **用户名:** admin - **密码:** admin123 - **密码MD5:** 0192023a7bbd73250516f069df18b500 - **角色:** admin - **状态:** 1 ## 🆘 如果仍然无法登录 1. **检查后端服务是否启动** - 访问:`http://localhost:8081/api/admin/login` - 如果无法访问,说明后端服务未启动 2. **检查数据库连接** - 查看 `application.properties` 中的数据库配置 - 确保数据库服务已启动 3. **查看后端日志** - 检查后端服务启动日志 - 查看是否有错误信息 4. **测试密码加密** - 确保 `PasswordUtil.encrypt("admin123")` 返回 `0192023a7bbd73250516f069df18b500` ## 📝 完整修复SQL脚本 ```sql -- 完整修复脚本 USE `books_db`; -- 1. 添加role字段(如果不存在) ALTER TABLE `users` ADD COLUMN IF NOT EXISTS `role` VARCHAR(20) DEFAULT 'user' COMMENT '用户角色:admin-管理员,user-普通用户'; -- 2. 删除已存在的admin用户 DELETE FROM `users` WHERE `username` = 'admin'; -- 3. 创建新的管理员账号 INSERT INTO `users` (`username`, `nickname`, `password`, `role`, `status`, `created_at`, `updated_at`) VALUES ('admin', '管理员', '0192023a7bbd73250516f069df18b500', 'admin', 1, NOW(), NOW()); -- 4. 验证 SELECT id, username, nickname, password, role, status FROM `users` WHERE `username` = 'admin'; ```