Я пытаюсь выполнить запрос в mysql.
SET GLOBAL log_bin_trust_function_creators =1;
Ошибка:
SQL-запрос:
SET GLOBAL log_bin_trust_function_creators =1
MySQL said:1227 - Доступ запрещен; для этой операции необходима привилегия SUPER
Я хочу знать, как мне назначить привилегии SUPER
для любой базы данных
Вы можете добавить суперпривилегии с помощью phpmyadmin
:
Перейдите в PHPMYADMIN > привилегии > Редактировать пользователя > На вкладке Администратор нажмите SUPER. > Перейти
Если вы хотите сделать это через Console
, сделайте следующее:
mysql> GRANT SUPER ON *.* TO [email protected]'localhost' IDENTIFIED BY 'password';
После выполнения приведенного выше кода завершите его:
mysql> FLUSH PRIVILEGES;
Вы должны сделать это на *.*
, потому что SUPER - это не привилегия, которая применяется только к одной базе данных, она глобальная.
В продолжение про окно доступа к учетным записям пользователей. Обратите внимание, что любая программа администрирования MySQL могут быть подставлены вместо сиквела про.
Добавьте следующие учетные записи и привилегии:
ГРАНТ НА СУПЕР . В 'пользователей'@'%' выявленные пароль
просто запрос phpmyadmin печатает после предоставления суперпользователя. надеюсь, кому-то поможет консоль:
ON $.$ TO-> $=* не показывает, когда ставишь два с точкой между ними.
REVOKE ALL PRIVILEGES ON . FROM 'usr'@'localhost';; GRANT ALL PRIVILEGES ON . TO 'usr'@'localhost' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
и обратный, удаляющий грант:
REVOKE ALL PRIVILEGES ON . FROM 'dos007'@'localhost'; REVOKE GRANT OPTION ON . FROM 'dos007'@'localhost'; GRANT ALL PRIVILEGES ON . TO 'dos007'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
проверено на vagrant должно работать в любом mysql
На CentOS 5 я получаю все виды ошибок, пытаясь внести изменения в какие-либо переменные из консоли MySQL, после того как вошли в систему с соответствующим UID и ПВ (с правами суперпользователя). Ошибки, которые я получал, было что-то вроде этого:
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
Обратите внимание, что я не предоставила ДБ УИН и пароль
mysql> show variables;
mysql> -- edit the variable of interest to the desired value, for example
mysql> SET GLOBAL general_log='ON';
Он работал как шарм