sql >> データベース >  >> RDS >> Mysql

Linuxで「MySQLERROR1819(HY000):」を修正する方法

    MySQLを作成する場合 パスワードが比較的弱いユーザーの場合、「 MySQL ERROR 1819(HY000):パスワードが現在のポリシー要件を満たしていません」というエラーが発生する可能性があります。 ’。技術的には、これはエラーではありませんが、推奨されるパスワードポリシー要件を満たしていないパスワードを使用しているという通知です。

    つまり、簡単に推測したり、無理矢理押し付けたりする可能性のある弱いパスワードを使用しているということです。組み込みのセキュリティメカニズムにより、ユーザーはデータベースが侵害されやすくなる可能性のある弱いパスワードを作成することを思いとどまらせます。

    関連記事 :MySQLの一般的なエラーをトラブルシューティングするための便利なヒント

    たとえば、次のようにユーザーを作成するときにエラーが発生しました

    mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;
    

    パスワードが非常に弱く、セキュリティリスクをもたらす可能性があることは簡単です。

    LinuxでMySQLERROR1819(HY000)を解決する方法

    MySQL データベースにはvalidate_passwordが付属しています 有効にすると、パスワード検証ポリシーを適用するプラグイン。プラグインによって適用されるパスワード検証ポリシーには3つのレベルがあります。

    • :ユーザーが8文字以下のパスワードを設定できるようにします。
    • :ユーザーは、大文字と小文字が混在し、特殊文字が含まれる8文字以下のパスワードを設定できます。
    • 強い :ユーザーは、辞書ファイルを含めて、中レベルのパスワードのすべての属性を持つパスワードを設定できます。

    デフォルトでは、パスワードポリシーは MEDIUMに設定されています 。次のコマンドを実行して、パスワードポリシーレベルを確認できます。

    $ SHOW VARIABLES LIKE 'validate_password%';
    

    コマンドを実行して出力が空のセットを取得した場合、プラグインはまだ有効になっていません。

    validate_passwordを有効にするには プラグイン、以下のコマンドを実行します。

    mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
    mysql> install plugin validate_password soname 'validate_password.so';
    

    プラグインがアクティブになっていることを確認するには、コマンドを実行します。

    mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
    

    以下に示す出力が得られるはずです:

    この問題を解決するには、パスワード検証ポリシーを最低レベルに設定する必要があります。これは、弱いパスワードを設定する手段を作成し、最終的にデータベースがハッカーによって危険にさらされる可能性があるため、直感に反するように聞こえます。

    ただし、それでも自分の道を歩むことを主張する場合は、次のことができます。

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

    MySQL ERROR 1819(HY000)を解決するには エラーの場合は、図のように低いパスワード検証ポリシーを設定してください。

    mysql> SET GLOBAL validate_password_policy=LOW;
    OR
    mysql> SET GLOBAL validate_password_policy=0;
    

    その後、パスワード検証ポリシーレベルを確認できます。

    $ SHOW VARIABLES LIKE 'validate_password%';
    

    これで、必要に応じて、比較的弱いパスワードを割り当てて続行できます。

    mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;
    

    」に戻すには のパスワードポリシーレベルで、次のコマンドを呼び出すだけです:

    mysql> SET GLOBAL validate_password_policy=MEDIUM;
    
    結論

    個人的には、明らかな理由から、低レベルのパスワードポリシーを設定することはお勧めしません。通常のユーザーでもデータベースユーザーでも、大文字、小文字、数字、特殊文字を組み合わせた8文字を超える強力なMySQLパスワードを常に設定することをお勧めします。

    このガイドは、このようなエラーをナビゲートする方法を知りたい人のためのものです。それ以外の場合は、強力なパスワードを設定することを常にお勧めします。


    1. SequelProを使用してデータベースに接続する方法

    2. OracleのABS()関数

    3. SQLServerで廃止される4つのデータ型

    4. OracleLISTAGG関数を使用して重複を排除します