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, en utilisant 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 un GRANT REQUIRE SSL
il me faut un REVOKE REQUIRE SSL
, n'est-ce pas?
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 plus rapidement 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.
Ce fut l'un des résultats de Google lorsque j'ai voulu supprimer REQUIRE SSL
sur un utilisateur MySQL que j'ai appliqué. Ce que j'ai fait était de faireREQUIRE NONE
sur USAGE
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