报错如下图所示:
解决办法如下所示:
1、停止 MySQL 服务
[root@localhost ~]# systemctl stop mysqld
2、编辑 MySQL 的配置文件my.cnf,通常位于/etc/my.cnf或/etc/mysql/my.cnf。
[root@localhost ~]# vim /etc/my.cnf
3、 进入后增加:skip-grant-tables,先按“i”键,再输入:skip-grant-tables,然后按"ESC"键,
输入“:wq!”保存退出。
4、保存配置文件并启动 MySQL 服务
[root@localhost ~]# systemctl start mysqld
5、登录 MySQL,如果要输入密码:你就输入123456 ,一般是直接就可以进去。
6、在 MySQL 命令行中执行以下语句来重置密码,,'MH@123456' 就是你要设置的密码。
mysql> USE mysql;
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'MH@123456';
如果你输入没有成功也是报错如下图所示,那么你就去刚刚MySQL 的配置文件my.cnf去掉“--skip-grant-tables”这一行就行。
去掉这一行重新保存退出即可,再来执行 mysql>USE mysql;
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'MH@123456';
7、如果还不行就输入下面的修改语句
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> USE mysql;
Database changed
mysql> UPDATE user SET authentication_string='MH@123456' WHERE User='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
希望对你有所帮助,谢谢~