1227: Доступ запрещён; требуется (хотя бы одна из) привилегия PRIVILEGE
MySQLЧто это значит?
У пользователя нет привилегии, необходимой для выполняемой операции. Операция требует права, выходящего за рамки разрешений, выданных учётной записи.
Почему возникает?
Отсутствует административная привилегия, такая как SUPER, PROCESS, RELOAD или CREATE USER; не выдано разрешение, необходимое для чтения глобального представления/таблицы; конкретная операция (SET GLOBAL, доступ к binlog), требующая повышенных привилегий.
Как исправить
Просмотрите текущие привилегии: SHOW GRANTS FOR CURRENT_USER(); Выдайте необходимое разрешение от привилегированной учётной записи: GRANT PROCESS ON *.* TO 'app_user'@'host'; (GRANT действует немедленно; FLUSH PRIVILEGES не нужен). По возможности используйте динамические привилегии (например, SYSTEM_VARIABLES_ADMIN) вместо SUPER. Следуйте принципу наименьших привилегий.
Ещё по этой СУБД
- 1091Невозможно выполнить DROP 'x'; проверьте, что столбец/ключ существует
- 1093Нельзя указывать целевую таблицу 'x' для обновления в предложении FROM
- 1305PROCEDURE не существует
- 3730Невозможно удалить таблицу, на которую ссылается ограничение внешнего ключа
- 2013Соединение с сервером MySQL потеряно во время запроса
- 1153Получен пакет больше 'max_allowed_packet' байт
- 1969MariaDB: выполнение запроса прервано (превышен max_statement_time)