Пользователи Mysql могут выбирать из таблиц, но не из представлений - PullRequest
11 голосов
/ 06 марта 2012

У меня есть база данных mysql, в которой я создаю пользователей и предоставляю им выбор, обновление, вставку и удаление в конкретной базе данных.

База данных содержит как таблицы, так и представления. По какой-то причине эти созданные пользователи получают следующую ошибку при попытке выбора из представления.

Access denied for user 'someuser'@'%' (using password: YES)

SELECT * FROM (`someview`) WHERE `somecolumn` = 0

Однако я не получаю эту ошибку при выборе из таблицы в той же базе данных.

Я развернул это приложение в нескольких местах, и оно работает везде, включая использование amazon rds. этот конкретный экземпляр - сервер MySQL, работающий на amazon ec2.

Ответы [ 2 ]

20 голосов
/ 06 марта 2012

Решил это.Сообщение об ошибке вводит в заблуждение.

Причиной был пользователь, который был определителем представлений, которых больше не существовало, а не пользователь, который выбирал из представления.

Я заново создал этого пользователя, и все в порядке.

0 голосов
/ 06 марта 2012

Существуют возможные причины, по которым вы столкнулись с этим:

  • Возможно, пользователь, к которому вы обращались, не обладает достаточными привилегиями для этой конкретной таблицы.
  • Возможно, имя пользователя или пароль не совпадают.
  • Возможно, пользователь не существует для указанного хоста.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...