mysql8 修改root密码

herohope 2020-03-08

mysql8忘记了root密码,需要修改

步奏:

1. <span> 从/etc/my.cnf 配置文件中加入skip-grant-table后正常登陆</span>,把 localhost和user=root 的 authentication_string设置为空字符串

# systemctl restart mysqld
# mysql -u root -p
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‘;
mysql> select Host,User,authentication_string from user;
+-----------+------------------+------------------------------------------------------------------------+
| Host      | User             | authentication_string                                                  |
+-----------+------------------+------------------------------------------------------------------------+
| localhost | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root             |                                                                        |
+-----------+------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)
mysql> flush privileges;      mysql> exit

2. 把  <span>skip-grant-table 去掉 重启mysql后,这时候 用空字符串可以登录mysql了</span>

# systemctl restart mysqld
# mysql -u root -pmysql>

 3. 再修改密码

mysql> alter user ‘root‘@‘localhost‘IDENTIFIED BY ‘MyNewPas‘;
mysql> flush privileges;

 修改完成.

相关推荐