【发布时间】: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