シングルユーザーから「REQUIRE SSL」を適切に削除するにはどうすればよいですか。


8

次のようにして、1人のユーザーにREQUIRE SSLを許可しました...

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

しかし、ユーザーからこのフラグをREMOVINGまたはREVOKINGして、取り消しを使用すると失敗します。私は構文と戦っているようです。権限全体を取り消さずに、「取り消し」コマンドでそれを削除する適切な方法はありますか?

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には存在しません

残念ながら、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 '...';

そうでなければ、私はあなたが必要とされたものをするためにあなたを称賛します。


MySQLのさまざまなバージョンに対する良い答え。MySQL 5.6の場合、@ Abeyのソリューションでは、ユーザーを削除して再作成する必要はありません。
mxxk

6

これは、REQUIRE SSL強制したMySQLユーザーを削除したいときのGoogleの結果の1つでした。私がしたこと REQUIRE NONEUSAGE

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

を実行して設定が変更されたかどうかを確認します

SHOW GRANTS FOR 'dbusername'@'%' ;

MySQL 5.6で作業しました


MySQL 5.6のチャームのように動作しました。エレガントでシンプル:)
mxxk 2018

MySQLのどのバージョンを使用していますか?Mysqlバージョン5.7.22を使用しています。- SHOWの助成金は、SSL言及していないstackoverflow.com/questions/56203365/...
committedandroider
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.