6.4 KiB
6.4 KiB
🗄️ 数据库连接信息和SQL执行指南
📊 数据库配置信息
从后端配置文件 application-dev.yml 中提取的数据库信息:
数据库类型: MySQL
主机地址: 129.211.213.226
端口: 3306
数据库名: cattletrade
用户名: root
密码: Aiotagro@741
字符集: UTF-8
时区: GMT+8
🚀 快速执行SQL脚本
方式一:使用MySQL命令行(推荐)
# Windows CMD 或 PowerShell
mysql -h 129.211.213.226 -P 3306 -u root -pAiotagro@741 cattletrade < "c:/cattleTransport/权限管理菜单-精简版.sql"
# 或者交互式执行
mysql -h 129.211.213.226 -P 3306 -u root -pAiotagro@741 cattletrade
进入MySQL后执行:
source c:/cattleTransport/权限管理菜单-精简版.sql
方式二:使用Navicat
-
新建连接:
- 连接名:牛只运输系统
- 主机:
129.211.213.226 - 端口:
3306 - 用户名:
root - 密码:
Aiotagro@741 - 数据库:
cattletrade
-
测试连接 → 连接成功后,双击打开
-
执行SQL:
- 点击"查询" → "新建查询"
- 打开文件:
c:/cattleTransport/权限管理菜单-精简版.sql - 点击"运行"按钮(或按
F5)
方式三:使用HeidiSQL
-
新建会话:
- 网络类型:MySQL (TCP/IP)
- 主机名/IP:
129.211.213.226 - 用户:
root - 密码:
Aiotagro@741 - 端口:
3306 - 数据库:
cattletrade
-
打开,右侧选择
cattletrade数据库 -
执行SQL:
- 点击"文件" → "加载SQL文件"
- 选择:
c:/cattleTransport/权限管理菜单-精简版.sql - 点击"执行"(或按
F9)
方式四:使用DBeaver
-
新建连接:
- 数据库:MySQL
- 服务器地址:
129.211.213.226 - 端口:
3306 - 数据库:
cattletrade - 用户名:
root - 密码:
Aiotagro@741
-
测试连接 → 完成
-
执行SQL:
- 右键数据库 → "SQL编辑器" → "打开SQL脚本"
- 选择:
c:/cattleTransport/权限管理菜单-精简版.sql - 点击"执行SQL脚本"(或按
Ctrl+Enter)
✅ 执行后验证
1. 检查菜单是否创建成功
-- 查看权限管理相关菜单
SELECT id, parent_id, name, route_url, authority, sort
FROM sys_menu
WHERE name LIKE '%权限%'
AND is_delete = 0
ORDER BY parent_id, sort;
预期结果:应该看到3条记录:
- 权限管理(父菜单)
- 菜单权限管理(子菜单)
- 操作权限管理(子菜单)
2. 检查超级管理员账号
-- 查看超级管理员用户
SELECT id, mobile, name, role_id, status, user_type
FROM sys_user
WHERE mobile = '15900000000';
预期结果:
role_id应该为1status应该为1(启用)
3. 检查超级管理员权限
-- 查看超级管理员拥有的权限数量
SELECT COUNT(*) as '权限总数'
FROM sys_role_menu
WHERE role_id = 1;
-- 查看具体权限列表(前20条)
SELECT
rm.role_id,
rm.menu_id,
m.name as menu_name,
m.authority,
m.type
FROM sys_role_menu rm
LEFT JOIN sys_menu m ON rm.menu_id = m.id
WHERE rm.role_id = 1
LIMIT 20;
预期结果:
- 权限总数应该 > 10
- 应该包含
permission:menu:view、permission:operation:view等权限
4. 检查菜单按钮权限
-- 查看菜单权限管理的按钮权限
SELECT
m.id,
m.parent_id,
m.name,
m.authority,
m.type
FROM sys_menu m
WHERE m.parent_id IN (
SELECT id FROM sys_menu WHERE name = '菜单权限管理'
)
AND m.is_delete = 0;
预期结果:应该看到5个按钮权限:
- 菜单查询 (permission:menu:list)
- 菜单新增 (permission:menu:add)
- 菜单编辑 (permission:menu:edit)
- 菜单删除 (permission:menu:delete)
- 角色分配 (permission:menu:assign)
🔄 SQL执行后的操作
重要!必须重新登录
SQL脚本执行成功后,必须按以下步骤操作:
-
退出当前登录
- 点击系统右上角用户头像
- 选择"退出登录"
-
清除浏览器缓存
- 按
Ctrl + Shift + Delete - 或按
F12打开开发者工具 - 在 Application → Storage → Clear site data
- 按
-
重新登录
- 账号:
15900000000 - 密码:
123456
- 账号:
-
刷新页面
- 按
F5或Ctrl + R
- 按
-
验证菜单
- 左侧菜单栏应该出现"权限管理"菜单
- 点击展开,应该有两个子菜单:
- 菜单权限管理
- 操作权限管理
🐛 故障排查
问题1:SQL执行报错
错误:Table 'sys_menu' doesn't exist
解决:检查数据库表是否存在
SHOW TABLES LIKE 'sys_%';
错误:Duplicate entry for key 'PRIMARY'
解决:菜单已存在,先清理旧数据
-- 删除旧的权限管理菜单
DELETE FROM sys_role_menu
WHERE menu_id IN (
SELECT id FROM sys_menu WHERE name LIKE '%权限%'
);
DELETE FROM sys_menu WHERE name LIKE '%权限%';
-- 然后重新执行SQL脚本
问题2:登录后菜单不显示
可能原因1:用户角色不正确
-- 修正用户角色
UPDATE sys_user
SET role_id = 1
WHERE mobile = '15900000000';
可能原因2:角色权限未分配
-- 重新分配所有权限给超级管理员
DELETE FROM sys_role_menu WHERE role_id = 1;
INSERT INTO sys_role_menu (role_id, menu_id)
SELECT 1, id FROM sys_menu WHERE is_delete = 0;
可能原因3:未清除缓存
- 清除浏览器缓存
- 清除localStorage
- 重新登录
问题3:连接数据库失败
检查网络:
# 测试能否ping通数据库服务器
ping 129.211.213.226
# 测试端口是否开放
telnet 129.211.213.226 3306
检查防火墙:
- 确认本地防火墙允许访问3306端口
- 确认云服务器安全组开放了3306端口
📞 联系信息
- 数据库服务器:
129.211.213.226:3306 - 后端API:
http://127.0.0.1:16200/api - 前端界面:
http://localhost:8080
📝 需要执行的SQL文件
-
精简版(推荐):
c:/cattleTransport/权限管理菜单-精简版.sql- 只创建核心菜单和权限
- 执行速度快
- 适合快速测试
-
完整版:
c:/cattleTransport/权限管理功能初始化SQL.sql- 包含所有功能
- 包含运送清单权限
- 更全面的配置
建议先执行精简版,测试成功后再执行完整版。
祝您顺利! 🎉