Как правильно удалить «REQUIRE SSL» с одного пользователя?


8

Я успешно предоставил REQUIRE SSL одному пользователю, выполнив ...

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

но я не смог удалить или отменить этот флаг от пользователя, используя revoke. Я предполагаю, что я борюсь с синтаксисом. Есть ли правильный способ удалить его с помощью команды "revoke", не отменяя всего разрешения?

Руководство по MySQL 5.5, этот сайт и веб-сайты еще не помогли мне найти правильный ответ.

Этот оператор SQL будет работать.

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

но я верю, где GRANT REQUIRE SSLдолжен быть я REVOKE REQUIRE SSL, не так ли?

Ответы:


7

То, что вы ищете, не существует в MySQL 5.5

К сожалению, команда ALTER USER для MySQL 5.6 ограничена. Все, что вы можете сделать, это

ALTER USER user@host PASSWORD EXPIRE;

В MySQL 5.7 вы можете запустить команду ALTER USER следующим образом

ALTER USER user@host REQUIRE NONE;

Когда дело доходит до MySQL 5.5, вы сделали наиболее подходящий способ. Большой !!!

Более политически корректным способом было бы сделать следующее:

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

В противном случае, я рекомендую вам делать то, что было нужно.


Хороший ответ для различных версий MySQL. Для MySQL 5.6 решение @ Abey не требует удаления и повторного создания пользователей.
mxxk

6

Это был один из результатов Google, когда я хотел удалить REQUIRE SSLпользователя MySQL, которого я принудил. Что я сделал, так это сделал REQUIRE NONE наUSAGE

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

Убедитесь, что настройки были изменены, запустив

SHOW GRANTS FOR 'dbusername'@'%' ;

Работал на MySQL 5.6


Работал как шарм на MySQL 5.6. Элегантно и просто :)
mxxk

Какую версию MySQL вы используете? Я использую Mysql verison 5.7.22. SHOW ГРАНТЫ не упоминает SSL - stackoverflow.com/questions/56203365/...
committedandroider
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.