Mysql 数据库:现有用户被视为“不存在”

问题描述 投票:0回答:1

我在具有 mysql 数据库的本地主机上并以 root 身份登录。 然后我添加了一个具有所有权限的用户“HPtigermak”,当我打开查询时,该用户已正确完成

SELECT * FROM mysql.user; 

但是当我尝试添加此用户作为定义者的视图时,它说:

Error 1449: The user specified as a definer ('HPtigermak'@'%') does not exist 

我还尝试用“root”替换“HPtigermak”来创建此视图,但出现相同的错误消息:

Error 1449: The user specified as a definer ('root'@'%') does not exist 

很奇怪,因为这是 root 用户!

哪里不正确或者原因是什么?

mysql-workbench
1个回答
0
投票

“HPtigermak”@“%”与“HPtigermak”@“localhost”的问题对我来说变得越来越奇怪:

在导入的函数(来自转储)中,我找到定义者“HPtigermak”@“%”。 我可以运行该函数,没有错误,但没有结果。工作台消息是:好的

在 VIEW 中使用带有定义器“HPtigermak”@'%' 的任何函数都会导致错误,无论是否使用内部函数,每个 SP 运行时都是如此。

但我可以将定义者从新创建的对象更改为被认为“不存在”的用户“HPtigermak”@“%”。这种行为非常混乱。

所以我需要在没有定义者语句的情况下更改转储文件并再次恢复它。 或者我将所有对象更改为用户“HPtigermak”@“localhost”。

在设计中唯一可以编辑的对象是表格,尽管是使用定义器“HPtigermak”@'%'创建的。

© www.soinside.com 2019 - 2024. All rights reserved.