今天看教学视频照着敲指令,降低Mysql的密码安全级别,当时是直接想修改他的安全级别,于是就输入下面这条指令出现了报错“未知的系统变量“validate_password_policy””
mysql> set global validate_password.policy=0;
ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
后面就看网上的输入查看整个的权限,又出现了一个新的报错“在执行此语句之前,必须使用ALTER USER语句重置密码”
mysql> SHOW VARIABLES LIKE 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
我就想好像视频是重置了一次密码,当时感觉没必要,就没在意,于是我就马上修改密码。
-
查询OK, 0行受影响(0.05秒)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456@Lj';
Query OK, 0 rows affected (0.05 sec)
然后这就应该修改成功了于是就……
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.15 sec)
然后就看一下能不能修改安全级别了
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password.length=4;
Query OK, 0 rows affected (0.00 sec)
果然成功就成功了,修改密码也是可以
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)
直接就登录成功了,说明密码修改成功了。
[root@localhost ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.32 MySQL Community Server - GPL
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
这就是想记录一下,有些步骤还是不能省的,这是我推测的原因,也不知道是不是这个原因。有错误希望有大佬可以指正。