快速修复登录问题.md 2.7 KB

快速修复登录问题

🚀 快速修复步骤

方法1:执行修复脚本(推荐)

# 在book项目根目录执行
mysql -u root -p books_db < src/main/resources/db/fix_admin_user.sql

方法2:手动执行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用户已存在,但信息不正确:

-- 更新admin用户信息
UPDATE `users` 
SET 
    `password` = '0192023a7bbd73250516f069df18b500',
    `role` = 'admin',
    `status` = 1,
    `updated_at` = NOW()
WHERE `username` = 'admin';

✅ 验证修复

执行以下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: 0192023a7b
  • 角色: admin
  • 状态: 1

🆘 如果仍然无法登录

  1. 检查后端服务是否启动

    • 访问:http://localhost:8081/api/admin/login
    • 如果无法访问,说明后端服务未启动
  2. 检查数据库连接

    • 查看 application.properties 中的数据库配置
    • 确保数据库服务已启动
  3. 查看后端日志

    • 检查后端服务启动日志
    • 查看是否有错误信息
  4. 测试密码加密

    • 确保 PasswordUtil.encrypt("admin123") 返回 0192023a7bbd73250516f069df18b500

📝 完整修复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';