【问题标题】:SELECT command denied when executing function in MySQL在 MySQL 中执行函数时 SELECT 命令被拒绝
【发布时间】:2013-09-01 10:28:09
【问题描述】:

当我尝试选择功能时

SELECT myDatabase.myFunction('');

我收到错误提示

ERROR 1142 (42000): SELECT command denied to user 'myUser'@'localhost' for table 'myTable'

虽然用户拥有所有权限

mysql> show grants for myUser;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for myUser@%                                                                                                                                                            |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myUser'@'%' IDENTIFIED BY PASSWORD ''                                                                                                                   |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE ON `myDatabase`.* TO 'myUser'@'%'|
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

我也可以直接访问 myTable 没有任何问题。

任何帮助将不胜感激。

附:所有函数、表、数据库、用户名都可以,以防我在这篇文章中拼错了什么。

【问题讨论】:

  • 别忘了myuser@localhost 和myuser@% 是两个不同的帐户,每个帐户都有自己的密码和权限。
  • 我可以直接访问 myTable 没有任何问题。

标签: mysql function permissions


【解决方案1】:

尝试 GRANT ALL;可能缺少 FUNCTION 权限

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-03
    • 2011-08-07
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多