一、修改配置文件
修改/etc/my.cnf文件在[mysqld]下增加skip-grant-tables,意为跳过授权表。
如果在此配置文件中配置了密码策略,要将此密码策略删掉
[root@mysql-1 ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables
二、重启服务,修改密码
[root@mysql-1 ~]# systemctl restart mysqld
[root@mysql-1 ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, 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> update mysql.user set authentication_string=password('1QAZ2WSX');
mysql> exit;
Bye
[root@mysql-1 ~]#
改密码本质是修改mysql库中的user表的authentication_string字段,但由于密码是密文显示,所以使用password加密。
后面将配置文件中的skip-grant-tables去掉,然后重启服务就可以使用修改的密码登陆了。