1045 - Access denied for user ‘root‘@‘localhost‘ (using password: NO)

服务器重新安装的mysql8.0,然后用本地的navicat远程连接服务器数据库,结果总是出现权限密码的问题,1045 - Access denied for user ‘root‘@‘localhost‘ (using password: NO)_第1张图片
当密码输进去,点击连接就出现了上图错误,这个时候需要开放远程访问,解决办法如下:
1》服务器上使用命令连接数据库并进入到mysql这个数据库;
2》查看mysql的权限:select host, user, authentication_string, plugin from user;
1045 - Access denied for user ‘root‘@‘localhost‘ (using password: NO)_第2张图片
3》如果上图中的加密方式caching_sha2_password需要更改一下加密方式,因为mysql8的加密方式是不一样的,远程工具连接不上因此要更改加密方式【******代表的是你要修改的远程连接的数据库密码】

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '*******';

在这里插入图片描述
4》授权远程连接:

grant all on *.* to 'root'@'%';

在这里插入图片描述
5》执行刷新权限:

flush privileges;

1045 - Access denied for user ‘root‘@‘localhost‘ (using password: NO)_第3张图片
好了,这样就ok了,然后再次使用navicat远程连接mysql;
1045 - Access denied for user ‘root‘@‘localhost‘ (using password: NO)_第4张图片

1045 - Access denied for user ‘root‘@‘localhost‘ (using password: NO)_第5张图片

然后去连接测试:
1045 - Access denied for user ‘root‘@‘localhost‘ (using password: NO)_第6张图片

叮叮叮~~连接成功!!!!!
【注意,两个密码千万不要搞混喔~】

你可能感兴趣的:(mysql)