# 菜单数据恢复指南 > **作者**:湖北新华业务中台研发团队 > **日期**:2026-01-31 > **用途**:恢复完整的系统菜单(RuoYi系统管理菜单 + 盘古业务菜单) --- ## 一、问题说明 ### 1.1 问题现象 系统菜单栏缺少RuoYi默认的系统管理菜单,只显示盘古业务菜单,导致无法访问: - **系统管理**:用户管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、参数设置、通知公告、日志管理 - **系统监控**:在线用户、定时任务、数据监控、服务监控、缓存监控 - **系统工具**:表单构建、代码生成、系统接口 ### 1.2 原因分析 初始化数据库时,只导入了盘古业务菜单(`pangu_menu.sql`),缺少RuoYi系统菜单数据。 --- ## 二、解决方案 ### 2.1 完整菜单SQL文件 已创建完整菜单SQL文件:**`sql/sys_menu_complete.sql`** 包含内容: - **RuoYi系统菜单**:72条(menu_id 1-1999) - **盘古业务菜单**:46条(menu_id 2000-2070) - **合计**:118条菜单 ### 2.2 方法一:使用导入脚本(推荐) #### 步骤1:进入SQL目录 ```bash cd /path/to/pangu-user-platform/sql ``` #### 步骤2:执行导入脚本 ```bash ./import_menu.sh ``` #### 步骤3:按提示确认 ``` 此操作将清空并重新导入菜单数据,是否继续?(y/n): y ``` #### 步骤4:查看导入结果 脚本会自动显示菜单统计信息和顶级菜单列表。 ### 2.3 方法二:手动导入SQL ```bash mysql -h127.0.0.1 -P3306 -uroot -p123456 pangu_user_platform < sql/sys_menu_complete.sql ``` ### 2.4 方法三:使用数据库客户端 1. 使用Navicat/DataGrip/DBeaver等工具连接数据库 2. 打开`sql/sys_menu_complete.sql`文件 3. 执行SQL脚本 --- ## 三、验证结果 ### 3.1 数据库验证 ```sql -- 统计菜单总数 SELECT COUNT(*) AS total FROM sys_menu; -- 预期结果:118条 -- 统计各类型菜单 SELECT CASE WHEN menu_id < 2000 THEN 'RuoYi系统菜单' ELSE '盘古业务菜单' END AS menu_type, COUNT(*) AS count FROM sys_menu GROUP BY CASE WHEN menu_id < 2000 THEN 'RuoYi系统菜单' ELSE '盘古业务菜单' END; -- 预期结果: -- RuoYi系统菜单 72 -- 盘古业务菜单 46 -- 查看顶级菜单 SELECT menu_id, menu_name, order_num, visible, status FROM sys_menu WHERE parent_id = 0 ORDER BY order_num; -- 预期结果: -- 1 系统管理 1 0 0 -- 2 系统监控 2 0 0 -- 3 系统工具 3 0 0 -- 4 若依官网 4 0 0 -- 2000 盘古管理 0 0 0 ``` ### 3.2 前端页面验证 刷新浏览器,菜单栏应该显示: ``` 📋 盘古管理 (menu_id 2000,order_num 0 - 最前面) ├─ 学校管理 ├─ 会员管理 ├─ 学生管理 ├─ 应用管理 └─ 基础数据 ├─ 年级管理 ├─ 班级管理 ├─ 学科管理 └─ 区域管理 ⚙️ 系统管理 (menu_id 1,order_num 1) ├─ 用户管理 ├─ 角色管理 ├─ 菜单管理 ├─ 部门管理 ├─ 岗位管理 ├─ 字典管理 ├─ 参数设置 ├─ 通知公告 └─ 日志管理 📊 系统监控 (menu_id 2,order_num 2) ├─ 在线用户 ├─ 定时任务 ├─ 数据监控 ├─ 服务监控 └─ 缓存监控 🔧 系统工具 (menu_id 3,order_num 3) ├─ 表单构建 ├─ 代码生成 └─ 系统接口 🌐 若依官网 (menu_id 4,order_num 4) ``` --- ## 四、注意事项 ### 4.1 数据备份 **重要**:执行导入前,建议备份当前菜单数据: ```sql -- 备份菜单表 CREATE TABLE sys_menu_backup_20260131 AS SELECT * FROM sys_menu; ``` ### 4.2 权限影响 导入菜单后,需要检查角色权限配置: ```sql -- 查看admin角色的菜单权限 SELECT COUNT(*) FROM sys_role_menu WHERE role_id = 1; ``` 如果权限不足,需要在**系统管理 > 角色管理**中重新分配菜单权限。 ### 4.3 菜单顺序 - **盘古管理**:`order_num = 0`(显示在最前面) - **系统管理**:`order_num = 1` - **系统监控**:`order_num = 2` - **系统工具**:`order_num = 3` - **若依官网**:`order_num = 4` 如需调整顺序,可在**系统管理 > 菜单管理**中修改`显示排序`字段。 ### 4.4 菜单ID范围 为避免ID冲突,请遵守以下规则: - **RuoYi系统菜单**:menu_id 1-1999 - **盘古业务菜单**:menu_id >= 2000 新增业务菜单时,menu_id从2100开始。 --- ## 五、常见问题 ### Q1:导入后菜单显示不全? **A**:清除浏览器缓存或使用无痕模式重新登录。 ### Q2:导入失败提示"Access denied"? **A**:检查数据库用户权限,确保有`DELETE`和`INSERT`权限。 ### Q3:菜单顺序不对? **A**:在**系统管理 > 菜单管理**中调整`显示排序`字段。 ### Q4:部分菜单无法访问? **A**:在**系统管理 > 角色管理**中,为对应角色分配菜单权限。 --- ## 六、相关文件 | 文件路径 | 说明 | |---------|------| | `sql/sys_menu_complete.sql` | 完整菜单SQL(RuoYi + 盘古) | | `sql/import_menu.sh` | 自动导入脚本 | | `sql/pangu_menu.sql` | 盘古业务菜单(仅业务部分) | | `sql/ry_20250522.sql` | RuoYi原始完整SQL | --- ## 七、技术支持 如有问题,请联系:**湖北新华业务中台研发团队** --- *最后更新:2026-01-31*