1045 Access denied for user 'root'@'localhost' (using password: YES)

下载完mysql-8.0.18-winx64,使用Navicat连接MySQL出现错误:
1045 Access denied for user ‘root’@‘localhost’ (using password: YES)
在这里插入图片描述
经过百度发现是密码错误,所以重新设置了密码。
1、打开安装目录下的my.ini
在这里插入图片描述
2、在[mysqld]下面加入skip-grant-tables
在这里插入图片描述
3、打开cmd,输入mysql -u root -p,出现enter password:后,按回车
在这里插入图片描述
4、进入mysql后,输入alter user ‘root’@‘localhost’ identified by ‘123’,就成功了。
在这里插入图片描述
新版本不支持password函数

update mysql.usersetpassword=PASSWORD(‘123456’)whereuser=‘root’;不支持

update user set password=password(‘123456’) where user=‘root’;不支持

set password for ‘root’@‘localhost’=password(‘123’);不支持

另外8之后的加密规则也不一样

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #修改加密规则

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新一下用户的密码

FLUSH PRIVILEGES; #刷新权限