MySQL. Error 1143: SELECT command denied to user ...

partnerauto
5 років
0
Доброго времени суток.
Создаю view.
CREATE ALGORITHM=UNDEFINED DEFINER=`partnera_crm`@`%` SQL SECURITY DEFINER VIEW `v_users` AS (
SELECT
`u`.`id` AS `id`,
`u`.`username` AS `username`,
`e`.`employeeid` AS `employeeid`,
`e`.`firstname` AS `firstname`,
`e`.`surname` AS `surname`,
CONCAT(`e`.`firstname`,' ',`e`.`surname`) AS `fio`,
`e`.`startdate` AS `startdate`,
`e`.`enddate` AS `enddate`
FROM (`users` `u`
JOIN `employees` `e`
ON (((`e`.`userid` = `u`.`id`)
AND ISNULL(`e`.`enddate`)))));


Создается - ОК.

А при попытке SELECT * FROM v_users
выдает Error Code : 1143 SELECT command denied to user 'partnera_crm'@'%' for column 'userid' in table 'employees'

Запросом данные показывает
SELECT * FROM employees;

В "Настройки прав доступа" у partnera_crm все галочки.

Что это может быть?
alexandrpaliy
5 років
1
Доброго.

У Вас в хостинг-аккаунте, где существуют целевые база и юзер, прописаны какие-либо ограничения доступа к MySQL по IP?

Если да, то пользователя
`partnera_crm`@`%`
не существует, отсюда и проблема.
Попробуйте вместо
DEFINER=`partnera_crm`@`%`
указать просто
DEFINER=`partnera_crm`
, или указать конкретный IP (один из тех, который прописан в ограничениях к MySQL).
partnerauto
5 років
0
Спасибо за ответ.
Да установлено ограничение по IP, я его временно отменил, и проверил с DEFINER=`partnera_crm` - заработало.
А вот если включить ограничение и указать `partnera_crm`@`185.175.94.144` то пишет
Error Code : 1227
Access denied; you need (at least one of) the SUPER privilege(s) for this operation

P.S. Если указать DEFINER=`partnera_crm` при включенном ограничении, то результат view не показывает, а ругается с той же ошибкой 1143
Тема закрита.