Mysql

如何從單個使用者中正確刪除“REQUIRE SSL”?

  • August 1, 2017

我通過執行以下操作成功地將 REQUIRE SSL 授予單個使用者…

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

但是我使用撤銷從使用者那裡刪除或撤銷這個標誌失敗了。我想我在與語法作鬥爭。是否有適當的方法可以使用“撤消”命令將其刪除,而無需撤消整個權限?

MySQL 5.5 手冊,這個站點和網際網路並沒有幫助我找到合適的反擊方式。

該 SQL 語句將起作用。

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

但我相信哪裡有一個GRANT REQUIRE SSL必須有我一個REVOKE REQUIRE SSL,不是嗎?

MySQL 5.5 中不存在您要查找的內容

不幸的是,MySQL 5.6 的 ALTER USER 命令是有限的。你所能做的就是

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 '...';

否則,我讚揚你做需要做的事情。

引用自:https://dba.stackexchange.com/questions/135142