Когда я пытаюсь выбрать функцию
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 напрямую без каких-либо проблем.
Любая помощь будет оценена.
P.S. Все функции, таблицы, базы данных, имена пользователей в порядке, если я что-то неправильно написал в этом посте.
myuser@localhost
иmyuser@%
— это две разные учетные записи, каждая со своим паролем и разрешениями. - person Jeremy Smyth   schedule 29.08.2013