跳坑指南 使用视图的Mysql数据库迁移后,要检查视图的dinfer

问题描述:我把一个创建了视图(view)的mysql数据库导出又导入到一台新的服务器上,设置好了用户权限,结果发现有些功能访问不了。并且提示Access denied for a definer (xxx@%)等等。我自己检查了用户权限,数据库权限都不行。

发现问题:mysql在创建视图时会记录定义者(就是definer)的信息,即便数据库用户的权限都给好了,视图也不一定能够访问。

修改方法:通过phpmyadmin或其他数据库管理工具,进入数据库管理系统后,选择编辑视图,修改definer为现在的用户即可。

发表评论