Navicat远程连接MySQL 提示1045 - Access denied for user ‘root’@‘120.33.156.121’(using password:YES)

Navicat远程连接MySQL 提示1045 - Access denied for user ‘root’@‘120.33.156.121’(using password:YES)

问题:
  今天在自己的阿里云服务器上(Window Server2012 R2)安装了一个MySQL5.7.26,在阿里云服务器中通过本地链接是正常的,但是当在自己的电脑上使用Navicat连接是提示:1045 - Access denied for user ‘root’@‘120.33.156.121’(using password:YES) 异常。
异常原因:
虽然用户名和密码正确,但是却没有在其他ip地址上访问的权限。需要登录MySQL然后修改ip访问权限。

解决方法:
由于我是用docker部署的mysql,所以用docker exec -it mysql bash先进入到mysql容器里,使用root登录(输入正确的密码):
mysql -u root -p
设置MySQL数据库的远程访问权限:

GRANT ALL PRIVILEGES ON *.* TO '登录用户名(如:root)'@'%' IDENTIFIED BY '登录密码(如:123456)' WITH GRANT OPTION;

// 格式:GRANT 权限 ON 数据库名.表名 TO 用户@登录主机 IDENTIFIED BY “用户密码”;@
后面是访问MySQL的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost
为本地访问(那此用户就不能远程访问该mysql数据库了)

刷新MySQL数据库权限:

FLUSH PRIVILEGES;

在Navicat中输入刚才设置的账号密码连接数据库:

猜你喜欢

转载自blog.csdn.net/weixin_48453772/article/details/129291590
今日推荐