无法从 MySQL 中的新视图中选择(可以从其他所有内容中选择)

无法从 MySQL 中的新视图中选择(可以从其他所有内容中选择)

我是 MySQL 的新手,更习惯于 MSSQL。但是,我们最近购买了 LabTech 管理软件,它使用 MySQL 后端。在编写自定义报告以跟踪网络状态时,我添加了一个新视图。以 root 身份执行时,新视图工作正常,但以用户身份运行它时,我得到:

错误代码:1142 拒绝用户“username”@“remote_address”对表“new_view”执行 SELECT 命令

我正在使用 MySQL Workbench 管理数据库,但我看不到任何地方可以查看视图的权限。我试过了

授予 labtech.new_view 上的 SELECT 权限至'用户名'@'localhost';刷新权限;

但这没有帮助。我错过了什么?

答案1

我想我遇到了和你一样的问题!当我恢复mysql数据时,也会出现这种情况。然后我发现它的定义者用户不是我设置的用户。只需使用:

SELECT DEFINER FROM information_schema.views WHERE table_schema='labtech' LIMIT 10;

显示定义者,你会发现它是老用户。要修改它,我认为你应该看看此链接dba.stackexchange.com

答案2

确保您认识到 mysql 将地址识别为用户名的一部分。

相关内容