mysql的“The user specified as a definer (”@’%') does not exist”问题 解决

2017-12-27,MYSQL的存储调用时出现了“The user specified as a definer (”[email protected]’%‘) does not exist”的问题。

网上查过后,都是提示用户权限不够,如:http://blog.handone.com/index.php/archives/137。

但我们生产环境用户都是ROOT,应该不存在用户权限问题。后来无意中发现,存储的定义者是“[email protected]%”,而不是“[email protected]%”。

后来与同事确认后,发现他用Navicat传输两张新表时,将存储也传输过来覆盖了,但测试环境我们的存储新建用户是"test"用户,所以手动将这几个存储删除手动重建就没问题了。

因此,记录一下,提醒自己存储不要用Navicat传输功能为妙。

mysql的“The user specified as a definer (”@’%') does not exist”问题 解决

原文地址:https://www.cnblogs.com/maindir/p/9001112.html

时间: 2024-10-07 11:53:05

mysql的“The user specified as a definer (”@’%') does not exist”问题 解决的相关文章

mysql的The user specified as a definer (”@’%') does not exist 的解决办法

两种可能: 1.用户权限不够 赋给用户所有权限试试 mysql> grant all privileges on *.* to [email protected]"%" identified by "."; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 2.有可能这个视图或者函数的创建人不是当前的用户.一

The user specified as a definer (”@’%') does not exist 解决办法

第一种: 给root赋值所有权限:注意在命令符下面操作.grant all privileges on *.* to [email protected]"%" identified by ".";flush privileges;但是这种重启之后一会就又不行了. 第二种:复制视图创建语句,直接将create改成alter,definer改成相关的,比如[email protected]  例如:用alter view 修改definer的值,alter ALGORI

The user specified as a definer ('root'@'%') does not exist 异常解决

参考:http://www.cnblogs.com/Magicam/archive/2013/07/22/3207382.html 权限问题,授权 给 root  所有sql 权限 mysql> grant all privileges on *.* to [email protected]"%" identified by ".";Query OK, 0 rows affected (0.00 sec) mysql> flush privileges;

Caused by: java.sql.SQLException: The user specified as a definer (''@'') does not exist

mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法权限问题,授权 给 root 所有sql 权限 mysql> grant all privileges on *.* to [email protected]"%" identified by ".";Query OK, 0 rows affected (0.00 sec) mysql> flush p

The use specified as definer('root'@'%') does not exist的解决办法

两个表(员工表和部门表)中都有数据,但是点击视图查看数据的时候反而遇见这个问题,于是查询了一下资料解决办法如下: mysql> grant all privileges on *.* to [email protected]"%" identified by ".";Query OK, 0 rows affected (0.00 sec) mysql> flush privileges;Query OK, 0 rows affected (0.00 se

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' 错误解决

原因是内层select语句带有limit子句. 原: update stu_score_childen A  set  A.fScore='-1' where  A.fID in (select B.fID from stu_score_childen B limit 0,50 ) 更改后的 update stu_score_childen A  set  A.fScore='-1' where  A.fID in (select C.fID from (select B.fID from st

MYSQL导入数据:Table XXX doesn't exist的解决

数据表为Innodb引擎 data文件夹中存在数据表的frm文件,但在phpmyadmin中看不到这些表,于是采用导入sql文件的方式进行恢复 1.直接导入原数据表的sql文件,原frm文件不删除 出错:#1146 - Table 'eticket.et_admin' doesn't exist 2.删除原frm文件,刷新phpmyadmin,再导入该数据表的sql文件 出错:#1146 - Table 'eticket.et_admin' doesn't exist 3.删除原frm文件,重启

Mysql 时间格式默认空串 '0000-00-00 00:00:00' select抛出异常的解决方法

Mysql 时间格式默认插入值为空时,会以'0000-00-00 00:00:00'填充,这时如果select时会抛出SQLExecption如下: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 解决方法如下: 方法一:jdbc的url加zeroDateTimeBehavior参数: datasource.url=jdbc:mysql://localh

MySQL: Table 'mysql.plugin' doesn't exist的解决

安装解压版MySQL以后,不能启动,日志里面出现了这个错误: MySQL: Table 'mysql.plugin' doesn't exist 这是因为mysql服务启动时候找不到内置数据库"mysql",找不到那张表,将之前的目录里面的"mysql"数据库拷贝到新的数据库文件存放目录,即可解决这个问题. MySQL: Table 'mysql.plugin' doesn't exist的解决