Comment supprimez-vous correctement «REQUIRE SSL» d'un seul utilisateur?

8

J'ai accordé avec succès REQUIRE SSL à un seul utilisateur en faisant ...

mysql -u"${targetMySqlUser}" -p"${targetMySqlPass}" -e "GRANT USAGE ON dbname.* TO 'dbusername'@'%' REQUIRE SSL;"

mais je ne parviens pas à SUPPRIMER ou à RÉVOQUER ce drapeau de l'utilisateur, à l'aide de la révocation. je suppose que je me bats avec la syntaxe. Existe-t-il un moyen approprié de le supprimer avec la commande "revoke", sans révoquer l'autorisation complète?

Le manuel MySQL 5.5, ce site et les interwebs ne m'ont pas encore aidé à trouver une contre-voie appropriée.

Cette instruction SQL fonctionnera.

UPDATE mysql.user SET ssl_type = '' WHERE ssl_type = 'any' ; FLUSH PRIVILEGES;

mais je crois où est-ce GRANT REQUIRE SSLqu'il doit y avoir un REVOKE REQUIRE SSL, n'est-ce pas?

Axel Werner
la source

Réponses:

7

Ce que vous recherchez n'existe pas dans MySQL 5.5

Malheureusement, la commande ALTER USER pour MySQL 5.6 est limitée. Tout ce que vous pouvez faire, c'est

ALTER USER user@host PASSWORD EXPIRE;

Dans MySQL 5.7, vous pouvez exécuter la commande ALTER USER comme suit

ALTER USER user@host REQUIRE NONE;

En ce qui concerne MySQL 5.5, vous avez fait le moyen le plus rapide possible. Génial !!!

Une manière plus politiquement correcte aurait été de procéder comme suit:

DROP USER user@host;
CREATE USER user@host;
GRANT ... on ... TO user@host IDENTIFIED BY '...';

Sinon, je vous félicite d'avoir fait ce qui était nécessaire.

RolandoMySQLDBA
la source
Bonne réponse pour différentes versions de MySQL. Pour MySQL 5.6, la solution de @ Abey ne nécessite pas de supprimer et de recréer les utilisateurs.
mxxk
6

Ce fut l'un des résultats de Google lorsque je voulais supprimer REQUIRE SSLun utilisateur MySQL que j'avais appliqué. Ce que je faisais était faire REQUIRE NONE surUSAGE

GRANT USAGE ON dbname.* TO 'dbusername'@'%' REQUIRE NONE;

Vérifiez si les paramètres ont été modifiés en exécutant

SHOW GRANTS FOR 'dbusername'@'%' ;

A travaillé sur MySQL 5.6

Abey
la source
Fonctionné comme un charme sur MySQL 5.6. Élégant et simple :)
mxxk
Quelle version de MySQL utilisez-vous? J'utilise la version 5.7.22 de Mysql. AFFICHER GRANT ne mentionne pas SSL - stackoverflow.com/questions/56203365/...
committedandroider