GNU/Linux >> Linux の 問題 >  >> Linux

修正– MySQLエラー1819(HY000):パスワードが現在のポリシー要件を満たしていません

お気づきかもしれませんが、VALIDATE PASSWORDを有効にするように求められます MySQLルートのパスワードの設定中のコンポーネント ユーザー。有効にすると、パスワードの検証コンポーネントは、指定されたパスワードの強度を自動的にチェックし、十分に安全なパスワードのみを設定するようにユーザーに強制します。弱いパスワードを入力すると、次のようなエラーが発生します- ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

技術的に言えば、それは実際にはエラーではありません。これは、現在のパスワードポリシー要件に基づいて強力なパスワードのみを提供するようにユーザーに通知する組み込みのセキュリティメカニズムです。

例を示しましょう。 rootとしてMySQLサーバーにログインします コマンドを使用するユーザー:

$ mysql -u root -p

弱いパスワードでデータベースユーザーを作成します:

mysql> create user 'ostechnix'@'localhost' identified by 'mypassword';

そして、次のエラーが発生します:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

見る? Validate Password コンポーネントでは、弱いパスワード(mypasswordなど)を使用してユーザーを作成できません この場合)。

パスワードが現在のパスワードポリシーの要件を満たすか、Validate Passwordを無効にするまで、このエラーが発生し続けます。 成分。次のセクションでその方法を説明します。

修正-MySQLエラー1819(HY000):パスワードが現在のポリシー要件を満たしていません

Validate Password時に適用されるパスワード検証ポリシーには3つのレベルがあります プラグインが有効になっています:

  • 長さ>=8文字。
  • 長さ>=8、数字、大文字と小文字の混合、および特殊文字。
  • 強い 長さ>=8、数字、大文字と小文字、特殊文字、辞書ファイル。

これらのポリシーレベルに基づいて、適切なパスワードを設定する必要があります。たとえば、パスワード検証ポリシーが[中]に設定されている場合は、数字、小文字、大文字、特殊文字を含む8文字以上のパスワードを設定する必要があります。

まず、現在のパスワードポリシーレベルを見つける必要があります。これを行うには、次のコマンドを実行して、パスワード検証プラグインのシステム変数を表示します。

mysql> SHOW VARIABLES LIKE 'validate_password%';

出力例:

+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.09 sec)

ご覧のとおり、現在適用されているパスワードレベルはです。 。したがって、パスワードは8文字で、数字、大文字と小文字、特殊文字を組み合わせたものにする必要があります。

このパスワードを設定します-Password123#@! コマンドの使用:

mysql> create user 'ostechnix'@'localhost' identified by 'Password123#@!';
Query OK, 0 rows affected (0.36 sec)

見る?今は動作します!したがって、「ERROR 1819 (HY000)...」を修正するために 「エラー、現在のパスワード検証ポリシーに従ってパスワードを入力する必要があります。

MySQLのパスワード検証ポリシーを変更する

ERROR 1819 (HY000)...」を解決することもできます 「低レベルのパスワードポリシーを設定することによって。

これを行うには、mysqlプロンプトから次のコマンドを実行します。

mysql> SET GLOBAL validate_password.policy = 0;

または、

mysql> SET GLOBAL validate_password.policy=LOW;

次に、パスワード検証ポリシーが低に変更されているかどうかを確認します。

mysql> SHOW VARIABLES LIKE 'validate_password%';

出力例:

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 8     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

これで、次のような弱いパスワードでユーザーを作成できます。

mysql> create user 'senthil'@'localhost' identified by 'password';

MEDIUMレベルのポリシーに戻すには、mysqlプロンプトから次のコマンドを実行するだけです。

mysql> SET GLOBAL validate_password.policy=MEDIUM;

パスワードポリシーが変更されない場合は、mysqlプロンプトを終了し、ターミナルウィンドウからmysqlサービスを再起動します。

$ sudo systemctl restart mysql

これで動作するはずです。

ヘッズアップ: 読者の1人が、次のコマンドにタイプミスがあると指摘しました。

mysql> SET GLOBAL validate_password.policy=LOW;

次のようになります:

mysql> SET GLOBAL validate_password_policy=LOW;

上記のコマンドのアンダースコアに注意してください。セットアップを削除したため、このコマンドを確認する方法がありません。ただし、MySQLの新しいバージョンではコマンドが変更されていると思います。

パスワード検証ポリシーを無効にする

弱いパスワードでユーザーを作成したい場合は、Validate Passwordを無効にするだけです。 コンポーネント全体を作成し、ユーザーを作成した後で再度有効にします。

MySQLサーバーにログインします:

$ mysql -u root -p

パスワードの検証コンポーネントを一時的に無効にするには、MySQLプロンプトから次のコマンドを実行します。

mysql> UNINSTALL COMPONENT "file://component_validate_password";

任意のパスワードでユーザーを作成します:

mysql> create user 'kumar'@'localhost' identified by '123456';

最後に、パスワードの検証コンポーネントを有効にします。

mysql> INSTALL COMPONENT "file://component_validate_password";

個人的には、ポリシーを低レベルに変更したり、パスワードポリシーを無効にしたりすることはお勧めしません。データベースユーザーであろうと通常のユーザーであろうと、数字、大文字と小文字の混合、および空間文字を含む8文字を超える強力なパスワードを常に使用してください。

結論

このガイドでは、一般的なMySQLエラーの1つであるERROR 1819 (HY000): Your password does not satisfy the current policy requirementsについて学習しました。 Linuxで修正する方法。また、パスワードポリシーを無効にして、弱いパスワードを許可する方法も学びました。

関連記事:

  • Ubuntu 20.04 LTSにApache、MySQL、PHP(LAMPスタック)をインストールします
  • Ubuntu 20.04 LTSにNginx、MySQL、PHP(LEMPスタック)をインストールします

Linux
  1. クラスZipArchiveが見つからないというエラーを修正しました[PHP7]

  2. Windowsを修正する方法は、PassSpecializeの無人応答ファイルを解析または処理できませんでした

  3. PHPエラーの修正–システムのタイムゾーン設定に依存するのは安全ではありません

  1. 登録されたコールバックが提供されたURLと一致しません–WSO2エラーを修正します

  2. MySQLでパスワードによってIDENTIFIEDでGRANTを使用中にエラーが発生しました

  3. MySQL が失敗する:mysql エラー 1524 (HY000):プラグイン 'auth_socket' がロードされていません

  1. リポジトリにリリースファイルがないのを修正するUbuntuのエラー-ステップバイステップガイド?

  2. CentOS – semanageコマンドが見つかりませんエラー–修正はここにあります!

  3. Bash翻訳ファイルにすべてのエラーテキストが含まれていないのはなぜですか?