Files
cattleTransportation/数据库连接信息和SQL执行指南.md

315 lines
6.4 KiB
Markdown
Raw Normal View History

2025-10-13 17:19:47 +08:00
# 🗄️ 数据库连接信息和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`
- 包含所有功能
- 包含运送清单权限
- 更全面的配置
**建议先执行精简版,测试成功后再执行完整版。**
---
**祝您顺利!** 🎉