mysql8 修改root密码

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

步奏:

1. 从/etc/my.cnf 配置文件中加入skip-grant-table后正常登陆,把 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. 把  skip-grant-table 去掉 重启mysql后,这时候 用空字符串可以登录mysql了

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

 3. 再修改密码

mysql> alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPas';

mysql> flush privileges;

 修改完成.

猜你喜欢

转载自www.cnblogs.com/LoveDan/p/12444046.html