关于MySQL中视图、函数、触发器等的DEFINER无法识别的问题

因为要搭建一个本地的开发环境,需要建一个MySQL的服务器,把远程服务器的数据导过来后,发现查询视图的时候,一直报DEFINER无法识别的问题。解决方案如下:

DEFINER是由“用户名@主机名”的形式组成的。我的视图的definer是user@%

1、SELECT user,host FROM mysql.user WHERE user='你的用户名';

确认你的视图等的主机名在查询结果中是否存在。这里只存在主机名localhost。

2、不存在的话执行下面的SQL。

grant all privileges on *.* to '用户名'@'主机名' identified by '.';

grant all privileges on *.* to 'user'@'%' identified by '.';

3、重复第一步的操作看第二部执行的结果是否已经生效。如果没有生效,再试试flush privileges;



你可能感兴趣的:(mysql)