web-dev-qa-db-fra.com

comment ajouter des super privilèges à la base de données MySQL?

J'essaye d'exécuter la requête dans mysql.

SET GLOBAL log_bin_trust_function_creators =1; 

Erreur:

Requête SQL:
SET GLOBAL log_bin_trust_function_creators = 1
MySQL a déclaré:
# 1227 - Accès refusé; vous avez besoin du privilège SUPER pour cette opération

Je veux savoir que comment attribuer des privilèges SUPER à une base de données

47
Manish Malviya

Vous pouvez ajouter un super privilège en utilisant phpmyadmin:

Sélectionnez PHPMYADMIN> privilèges> Modifier un utilisateur> sous l'onglet Administrateur. Cliquez sur SUPER. > Aller

Si vous voulez le faire avec Console, procédez comme suit: 

 mysql> GRANT SUPER ON *.* TO user@'localhost' IDENTIFIED BY 'password';

Après avoir exécuté le code ci-dessus, terminez-le avec:

mysql> FLUSH PRIVILEGES;

Vous devriez faire dans. car SUPER n’est pas le privilège qui s’applique à une seule base de données, c’est global.

66
Akash KC

Vous pouvez voir les privilèges ici.enter image description here

Ensuite, vous pouvez modifier l'utilisateur

5
Ruwantha

Dans Sequel Pro, accédez à la fenêtre Comptes d'utilisateurs. Notez que tout programme d’administration MySQL peut être remplacé par Sequel Pro. 

Ajoutez les comptes et privilèges suivants:

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

2
Gustavo A Garcia

Sur Centos 5, j'entendais toutes sortes d'erreurs en essayant de modifier certaines valeurs de variable depuis le shell MySQL, après m'être connecté avec les identifiants uid et pw (avec accès root) appropriés. L'erreur que je devenais était quelque chose comme ça: 

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

Dans un moment d'extrême sérendipité j'ai fait ce qui suit:

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

Veuillez noter que je n'ai pas fourni l'ID et le mot de passe de la base de données  

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

Ça a marché comme sur des roulettes

0
Sandeep

seule la requête phpmyadmin est imprimée après avoir accordé le super utilisateur. espérons aider quelqu'un avec console:

ON $. $ TO-> $ = * ne s'affiche pas lorsque vous mettez deux points avec un point entre eux. 

REVOKE TOUS LES PRIVILEGES SUR. FROM 'usr' @ 'localhost'; DONNER TOUT PRIVILÈGES SUR. TO 'usr' @ 'localhost' N'EXIGEZ AUCUNE OPTION DE SUBVENTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

et l'inverse, suppression de la subvention:

REVOKE TOUS LES PRIVILEGES SUR. FROM 'dos007' @ 'localhost'; ANNULER LA SUBVENTION OPTION SUR. FROM 'dos007' @ 'localhost'; Accordez tous les privilèges sur. TO 'dos007' @ 'localhost' N'UTILISEZ NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

coché sur vagabond devrait fonctionner dans n'importe quel mysql

0
dos007