Подтвердить что ты не робот

Как добавить супер-привилегии в базу данных mysql?

Я пытаюсь выполнить запрос в mysql.

SET GLOBAL log_bin_trust_function_creators =1; 

Ошибка:

SQL-запрос:
  SET GLOBAL log_bin_trust_function_creators = 1
  MySQL сказал:
  # 1227 - Доступ запрещен; вам нужна привилегия SUPER для этой операции

Я хочу знать, как назначить привилегии SUPER для любой базы данных

4b9b3361

Ответ 1

Вы можете добавить супер привилегию, используя phpmyadmin:

Перейдите в PHPMYADMIN> привилегии> Редактировать пользователя> На вкладке "Администратор" Нажмите "SUPER". > Go

Если вы хотите сделать это через Console, сделайте так:

 mysql> GRANT SUPER ON *.* TO [email protected]'localhost' IDENTIFIED BY 'password';

После выполнения приведенного выше кода завершите его с помощью:

mysql> FLUSH PRIVILEGES;

Вы должны сделать это на *.*, потому что SUPER - это не привилегия, которая применяется только к одной базе данных, она глобальная.

Ответ 2

Вы можете увидеть привилегии здесь. enter image description here

Затем вы можете редактировать пользователя

Ответ 3

В Sequel Pro зайдите в окно "Учетные записи пользователей". Обратите внимание, что любая программа администрирования MySQL может быть заменена вместо Sequel Pro.

Добавьте следующие учетные записи и привилегии:

GRANT SUPER ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD

Ответ 4

только запрос phpmyadmin печатает после предоставления суперпользователя. надеюсь помочь кому-то с консолью:

ON $. $TO- > $= * не показывает, когда вы ставите два с точкой между ними.

ОТКРЫВАЙТЕ ВСЕ ПРИВИЛЕГИИ. FROM 'usr' @'localhost'; GRANT ALL ПРИВИЛЕГИИ. TO 'usr' @'localhost' НЕ ТРЕБУЕТСЯ ВАРИАНТ ГРАНТА MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

и наоборот, удалив грант:

ОТКРЫВАЙТЕ ВСЕ ПРИВИЛЕГИИ. FROM 'dos007' @'localhost'; REVOKE GRANT ВАРИАНТ ВКЛ. FROM 'dos007' @'localhost'; ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ. TO 'dos007' @'localhost' НЕ ТРЕБУЕТСЯ MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

проверенный на бродяжнике, должен работать в любом mysql

Ответ 5

На Centos 5 я получал всевозможные ошибки, пытаясь внести изменения в некоторые значения переменных из оболочки MySQL, после входа в систему с соответствующими uid и pw (с правами root). Ошибка, которую я получил, была что-то вроде этого:

mysql> -- Set some variable value, for example
mysql> SET GLOBAL general_log='ON';
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation

В момент крайней счастливой случайности я сделал следующее:

OS-Shell> sudo mysql                          # no DB uid, no DB pw

Пожалуйста, обратите внимание, что я не предоставил UID и пароль БД

mysql> show variables;
mysql> -- edit the variable of interest to the desired value, for example
mysql> SET GLOBAL general_log='ON';

Это работает как шарм