关于MySQL中视图、函数、触发器等的DEFINER无法识别的问题
2016-07-24 12:09
585 查看
因为要搭建一个本地的开发环境,需要建一个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;
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忘记密码的时候初始化密码的最佳方法
- mysql 1449错误
- 009-LAMP_MySQL_privilege
- 解决mysql启动错误:Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
- oracle中的系统权限和对象权限
- The user specified as a definer ('test'@'%') does not exist
- Centos环境下部署游戏服务器-权限
- mysql.user字段含义
- windows下 Mysql 错误1067 Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
- unable to rollback aborted in-doubt branch on resource
- 修改 mysql 访问权限命令
- The user specified as a definer ('root'@'%') does not exist
- Hive权限与HDFS权限分离导致的一些问题
- oracle 出现insufficient privileges
- MariaDB的mysql.user表被误删除
- Linux命令:MySQL系列之十--MySQL用户和权限管理,mysql管理员密码重置
- 迁移MySQL用户及权限
- mysql stored routine (存储例程) 中 definer 的作用 和实例
- Navicat 连接mysql失败: Host '*' is not allowed to connect to this MariaDB server
- 2018-03-02存储过程definer