web-dev-qa-db-ja.com

MySQL 5.7で6文字のパスワードを作成する方法

Macの新しいMySQLで6文字のパスワードを持つユーザーを作成する必要があります。 5.7の最低設定では8文字しか使用できないことを知っています。それを回避する方法はありますか?

CREATE USER 'newsier'@'localhost' IDENTIFIED BY 'special'と入力します

エラーを出力します

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

パスワード検証プラグイン を使用しています。デフォルトでは、8文字以上の長いパスワードのみが許可されます。 @RiggsFollyは、ハッシュの値をチェックできないため、パスワードの事前ハッシュが機能することは正しいです。

ただし、 オプションを変更する を使用する場合は、validate_password_lengthシステム変数の値を設定する必要があります。設定ファイルでこれを行うか、次のことができます。

SET GLOBAL validate_password_length=6;
8
miken32

最初にmysql -u root -pでログインし、次の方法で現在のポリシールールを確認します。

# SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_dictionary_file    |        |
| validate_password_length             | 5      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+

その後、上記の変数を自由に変更できます。

# SET GLOBAL validate_password_length = 5;
# SET GLOBAL validate_password_number_count = 0;
# SET GLOBAL validate_password_mixed_case_count = 0;
# SET GLOBAL validate_password_special_char_count = 0;

最後に、簡単なパスワードでデータベースとそれにアクセスするユーザーを作成できます。

# CREATE DATABASE test1;
# GRANT ALL PRIVILEGES ON test1.* TO user1@localhost IDENTIFIED BY "pass1";
# FLUSH PRIVILEGES;

その後、パスワードmysql -u user1 -p test1を使用してpass1でログインできます

38

MySQL 5.7 +にはデフォルトでパスワード検証システムがあります。ポリシーに厳密に準拠したくなく、独自に割り当てる必要がある場合は、パスワード検証を無効にして、mysqldプロセスを再起動します。

編集my.cnfファイル:

vi /etc/my.cnf

in [mysqld]

validate-password=off

ファイルを保存してからrestartプロセス

Sudo service mysqld restart
or
systemctl restart mysqld

次に、ルートパスワードの変更以下を使用して、ルートパスワードの例外をスローしない手順に従います。

mysql_secure_installation
or
/usr/bin/mysql_secure_installation

インストール初回で実行していて、仮パスワードを知りたい場合は、次を使用して初回パスワード

 grep 'temporary password' /var/log/mysqld.log

下のコメントボックスで、同じことについてのコメントをお聞かせください。

5

このように事前にハッシュ化されたパスワードを使用することで、それを回避できると思います:-

CREATE USER 'newsier'@'localhost' IDENTIFIED WITH mysql_native_password
       AS '*0D3CED9BEC10A777AEC23CCC353A8C08A633045E';

しかし、これは実際にパスワードを設定する前にspecialを正しくハッシュする必要があることを意味します。これにより、プレーンテキストバージョンを使用できます。

3
RiggsFolly

次のコマンドを実行することにより、過度に厳しいと思われるパスワード「プラグイン」を完全に無効にすることができます:uninstall plugin validate_password

再び必要になった場合は、次の方法でオンに戻すことができます:INSTALL PLUGIN validate_password SONAME 'validate_password.so'

オプションで、無効にしてパスワードを設定し、再度有効にすることができます。

uninstall plugin validate_password;
CREATE USER 'newsier'@'localhost' IDENTIFIED BY 'special';
INSTALL PLUGIN validate_password SONAME 'validate_password.so';

参考文献:

3
SeanDowney

現在のパスワードポリシールールを確認するには

SHOW VARIABLES LIKE 'validate_password%';

次に、これらの変数の新しい値を設定します。

SET GLOBAL validate_password_length = 6 // that you like
SET GLOBAL validate_password_policy = 'LOW'
2