web-dev-qa-db-ja.com

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

私は次のようにして、シングルユーザーに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、ありませんか?

8
Axel Werner

あなたが探しているものは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 '...';

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

7
RolandoMySQLDBA

これは、私が削除したかったGoogleの検索結果の1つでしたREQUIRE SSL私が実施したMySQLユーザー。 私がやったことREQUIRE NONEUSAGE

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

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

SHOW GRANTS FOR 'dbusername'@'%' ;

MySQL 5.6で作業しました

6
Abey