ubuntu20.04上安装mysql8.0.23问题总结
Access denied for user ‘root’@‘localhost’
question1:登陆问题
bbb@wbbb:~$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
answer1:
1 sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
进入配置文件,在文件最后一行添加skip-grant-tables
目的是无密码登陆
2 service mysql restart
3 mysql -u root -p + 回车 + 回车
4 use mysql; + 回车
5 flush privileges; + 回车
6 select user,plugin from user; //查看当前user + plugin,发现root_plugin:auth_socket
7 update user set plugin="caching_sha2_password" where user='root'; //修改plugin
8 ALTER user 'root'@'localhost' IDENTIFIED BY '123456'; + 回车
9 flush privileges; + 回车
10 \q; //退出当前mysql
11 注释步骤1的修改
Your password does not satisfy the current policy requirements
question2:密码问题
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
answer2:
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.01 sec)
1 mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
2 mysql> set global validate_password.special_char_count=0;
Query OK, 0 rows affected (0.00 sec)
3 mysql> set global validate_password.length=6;
Query OK, 0 rows affected (0.00 sec)
4 mysql> set global validate_password.mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 6 |
| validate_password.mixed_case_count | 0 |
| validate_password.number_count | 1 |
| validate_password.policy | LOW |
| validate_password.special_char_count | 0 |
+--------------------------------------+-------+
7 rows in set (0.01 sec)
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)