Files
cattleTransportation/数据库连接信息和SQL执行指南.md
2025-10-13 17:19:47 +08:00

315 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🗄️ 数据库连接信息和SQL执行指南
## 📊 数据库配置信息
从后端配置文件 `application-dev.yml` 中提取的数据库信息:
```yaml
数据库类型: MySQL
主机地址: 129.211.213.226
端口: 3306
数据库名: cattletrade
用户名: root
密码: Aiotagro@741
字符集: UTF-8
时区: GMT+8
```
---
## 🚀 快速执行SQL脚本
### 方式一使用MySQL命令行推荐
```bash
# 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后执行
```sql
source c:/cattleTransport/权限管理菜单-精简版.sql
```
---
### 方式二使用Navicat
1. **新建连接**
- 连接名:牛只运输系统
- 主机:`129.211.213.226`
- 端口:`3306`
- 用户名:`root`
- 密码:`Aiotagro@741`
- 数据库:`cattletrade`
2. **测试连接** → 连接成功后,双击打开
3. **执行SQL**
- 点击"查询" → "新建查询"
- 打开文件:`c:/cattleTransport/权限管理菜单-精简版.sql`
- 点击"运行"按钮(或按 `F5`
---
### 方式三使用HeidiSQL
1. **新建会话**
- 网络类型MySQL (TCP/IP)
- 主机名/IP`129.211.213.226`
- 用户:`root`
- 密码:`Aiotagro@741`
- 端口:`3306`
- 数据库:`cattletrade`
2. **打开**,右侧选择 `cattletrade` 数据库
3. **执行SQL**
- 点击"文件" → "加载SQL文件"
- 选择:`c:/cattleTransport/权限管理菜单-精简版.sql`
- 点击"执行"(或按 `F9`
---
### 方式四使用DBeaver
1. **新建连接**
- 数据库MySQL
- 服务器地址:`129.211.213.226`
- 端口:`3306`
- 数据库:`cattletrade`
- 用户名:`root`
- 密码:`Aiotagro@741`
2. **测试连接** → 完成
3. **执行SQL**
- 右键数据库 → "SQL编辑器" → "打开SQL脚本"
- 选择:`c:/cattleTransport/权限管理菜单-精简版.sql`
- 点击"执行SQL脚本"(或按 `Ctrl+Enter`
---
## ✅ 执行后验证
### 1. 检查菜单是否创建成功
```sql
-- 查看权限管理相关菜单
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. 检查超级管理员账号
```sql
-- 查看超级管理员用户
SELECT id, mobile, name, role_id, status, user_type
FROM sys_user
WHERE mobile = '15900000000';
```
**预期结果**
- `role_id` 应该为 `1`
- `status` 应该为 `1`(启用)
---
### 3. 检查超级管理员权限
```sql
-- 查看超级管理员拥有的权限数量
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. 检查菜单按钮权限
```sql
-- 查看菜单权限管理的按钮权限
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脚本执行成功后**必须**按以下步骤操作:
1. **退出当前登录**
- 点击系统右上角用户头像
- 选择"退出登录"
2. **清除浏览器缓存**
-`Ctrl + Shift + Delete`
- 或按 `F12` 打开开发者工具
- 在 Application → Storage → Clear site data
3. **重新登录**
- 账号:`15900000000`
- 密码:`123456`
4. **刷新页面**
-`F5``Ctrl + R`
5. **验证菜单**
- 左侧菜单栏应该出现"权限管理"菜单
- 点击展开,应该有两个子菜单:
- 菜单权限管理
- 操作权限管理
---
## 🐛 故障排查
### 问题1SQL执行报错
**错误Table 'sys_menu' doesn't exist**
**解决**:检查数据库表是否存在
```sql
SHOW TABLES LIKE 'sys_%';
```
---
**错误Duplicate entry for key 'PRIMARY'**
**解决**:菜单已存在,先清理旧数据
```sql
-- 删除旧的权限管理菜单
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用户角色不正确**
```sql
-- 修正用户角色
UPDATE sys_user
SET role_id = 1
WHERE mobile = '15900000000';
```
**可能原因2角色权限未分配**
```sql
-- 重新分配所有权限给超级管理员
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连接数据库失败
**检查网络**
```bash
# 测试能否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文件
1. **精简版**(推荐):`c:/cattleTransport/权限管理菜单-精简版.sql`
- 只创建核心菜单和权限
- 执行速度快
- 适合快速测试
2. **完整版**`c:/cattleTransport/权限管理功能初始化SQL.sql`
- 包含所有功能
- 包含运送清单权限
- 更全面的配置
**建议先执行精简版,测试成功后再执行完整版。**
---
**祝您顺利!** 🎉