gin-vue-admin icon indicating copy to clipboard operation
gin-vue-admin copied to clipboard

关于数据库导入视图 DEFINER 错误

Open oukan opened this issue 4 years ago • 1 comments

1. 您使用的是哪个版本的 gin-vue-admin ?

2.4.0

在本地测试,并使用远程测试数据库dev_crm,一切正常

但是在服务器上又新建了一个数据库test_crm,并服务器面板中的数据库备份功能,发现登陆正常,但是无法获取菜单,表现使用为 https://github.com/flipped-aurora/gin-vue-admin/issues/391 所描述的问题,错误位置 service/sys_menu.go:22 ,经过分析是,这条语句出现错误

SELECT * FROM authority_menuWHERE (authority_id = "9528") ANDauthority_menu.deleted_atIS NULL ORDER BY sort 错误提示为

#1143 - SELECT command denied to user 'dev_crm'@'%' for column 'sys_base_menu_id' in table 'sys_authority_menus' 这里出现了旧数据库的名称,错误是在里。

于是将dev_crm数据库导出,并导入到新的数据中test_crm时出出现错误

CREATE ALGORITHM=UNDEFINED DEFINER=dev_crm@%SQL SECURITY DEFINER VIEWauthority_menu AS selectsys_base_menus.idASid,sys_base_menus.created_atAScreated_at,sys_base_menus.updated_atASupdated_at,sys_base_menus.deleted_atASdeleted_at,sys_base_menus.menu_levelASmenu_level,sys_base_menus.parent_idASparent_id,sys_base_menus.pathASpath,sys_base_menus.nameASname,sys_base_menus.hiddenAShidden,sys_base_menus.componentAScomponent,sys_base_menus.titleAStitle,sys_base_menus.iconASicon,sys_base_menus.sortASsort,sys_authority_menus.sys_authority_authority_idASauthority_id,sys_authority_menus.sys_base_menu_idASmenu_id,sys_base_menus.keep_aliveASkeep_alive,sys_base_menus.default_menuASdefault_menu from (sys_authority_menusjoinsys_base_menus on((sys_authority_menus.sys_base_menu_id=sys_base_menus.id)))

临时的解决方案是将 DEFINER=dev_crm@% 直接删除,或者修改为新的数据库信息 DEFINER=test_crm@%

请问能否在数据库导出的时候自动删除 DEFINER 信息

oukan avatar Mar 23 '21 14:03 oukan

感谢issue,数据库导出阶段已经脱离了我们的可控范围,此issue将会保留为其他使用者提供参考,感谢!

piexlmax avatar Mar 24 '21 01:03 piexlmax