grep 'temporary password'/var/log/mysqld.log
mysql -uroot -p
use mysql;
update user set authentication_string='' where user='root';
注:mysql8.0以降では、
update mysql.user set password='newpassword' where user='root';
update mysql.user set password=PASSWORD('newpassword') where User='root';
これらの2つのコマンドは機能しなくなりました
ALTER USER 'root'@'localhost' IDENTIFIED BY '新しいパスワード';
次のようなエラーが発生します。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
これは実際には validate_password_policy
の値に関連しています
次の値:
ポリシー | 実行するテスト(必須) |
---|---|
0 or LOW | Length |
1 or MEDIUM | numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters |
デフォルトは1、つまりMEDIUMであるため、最初に設定するパスワードは長さを満たす必要があり、数字、小文字または大文字、および特殊文字を含める必要があります。
自分でテストしたいだけで、それほど複雑なパスワードを設定したくない場合もあります。たとえば、ルートパスワードを123123に設定したいだけです。
ウィンブルドンは、データベースに初めて入るときにいくつかのグローバル変数を変更するか、許可テーブルをスキップしてデータベースに再度入ることができます。
mysql> show variables like "%validate%";+--------------------------------------+--------+| Variable_name | Value |+--------------------------------------+--------+| query_cache_wlock_invalidate | OFF || validate_password_check_user_name | OFF || validate_password_dictionary_file ||| validate_password_length |8| ##パスワードの最小の長さ、6に変更| validate_password_mixed_case_count |1|| validate_password_number_count |1|| validate_password_policy | MEDIUM | #これを0に変更すると、単純なパスワードを受け入れることができます
| validate_password_special_char_count |1|+--------------------------------------+--------+
# グローバル変数を変更する
mysql>set global validate_password_length=6;
Query OK,0 rows affected(0.00 sec)
mysql>set global validate_password_policy=0;
Query OK,0 rows affected(0.00 sec)
mysql> show variables like "%validate%";+--------------------------------------+-------+| Variable_name | Value |+--------------------------------------+-------+| query_cache_wlock_invalidate | OFF || validate_password_check_user_name | OFF || validate_password_dictionary_file ||| validate_password_length |6|| validate_password_mixed_case_count |1|| validate_password_number_count |1|| validate_password_policy | LOW || validate_password_special_char_count |1|+--------------------------------------+-------+8 rows inset(0.00 sec)
mysql> alter user 'root'@'localhost' identified by '123123'; #もう一度パスワードを変更してください。間違いはもうありません!
Query OK,0 rows affected(0.01 sec)
from:
https://blog.csdn.net/ssiyla/article/details/82931439
https://www.cnblogs.com/mzxiaoze/p/10413399.html
Recommended Posts