1、可以在my.cnf添加代码skip-grant-tables
vi/etc/my.cnf
在my.cnf文件中添加代码skip-grant-tables(即:可跳过MySQL密码验证进行登录)
2、重启MySQL:
systemctl restart mysqld
3、登录MYSQL
无需使用密码,可直接登录MySQL
[root@localhost /]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.18 MySQL Community Server - GPL
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
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.
4、修改密码
<1>先将原本的密码设置为空
mysql>update user set authentication_string="" where user='root';
<2>之后在在my.cnf文件中删除skip-grant-tables,之后再次进入mysql
<3>mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码‘;
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set authentication_string="" where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> exit
Bye
[root@localhost /]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 30
Server version: 8.0.18
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
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> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'siteweb1!';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'siteweb1!';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
5、刷新mysql 相关系统权限表
flush privileges;
6、去掉my.cnf文件中添加代码skip-grant-tables
去掉my.cnf文件中添加代码skip-grant-tables
7、重启MySQL
systemctl restart mysqld