一、MySQL8.0.11版本修改root密码
1. 登录mysql:
mysql>mysql -u root -p
Enter password:
2. 查询用户密码:
mysql> select host,user,authentication_string from mysql.user;
3. 设置(或修改)root用户密码:
在mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码。
(1)如果当前root用户authentication_string字段下有内容,先将其设置为空,否则直接进行(2)步骤。
use mysql;
update user set authentication_string='' where user='root'
(2)使用ALTER修改root用户密码,方法为 ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'。如下:
ALTER user 'root'@'localhost' IDENTIFIED BY '123456'
修改成功; 重新使用用户名密码登录即可;
二、用户名和密码都正确,可视化工具却无法连接
在MySQL 8.04前,执行:SET PASSWORD=PASSWORD('[新密码]');但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。
so,我们这里需要再次修改一次root密码。
先登录进入mysql环境:执行下面三个命令。(记得带上分号)
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
完成,现在可以重连。
参考:https://www.jb51.net/article/142025.htm