Navicat Premium从本地连接到阿里云服务器出现1045-Access denied for user 'root'@'123.56.24.128' (using password:YES)

时间:2023-01-12 19:53:47

    今天在阿里云的服务器上使用docker的时候,从本地用RedisDesktopManager远程连接docker容器中的redis的时候没有任何问题,而用Navicat Premium连接远程服务器的MYSQL发现了一个问题,出现1023、1045错误代码。

 解决办法:

      1.首先远程登陆到阿里云服务器上面,进入到mysql(我这里的连接是从阿里云的服务器上远程连接的,如下图:)

Navicat Premium从本地连接到阿里云服务器出现1045-Access denied for user 'root'@'123.56.24.128' (using password:YES)

Navicat Premium从本地连接到阿里云服务器出现1045-Access denied for user 'root'@'123.56.24.128' (using password:YES)             

      2.先授权给登陆的root用户,flush privileges 使更改立即生效      Navicat Premium从本地连接到阿里云服务器出现1045-Access denied for user 'root'@'123.56.24.128' (using password:YES)

     3.更改user表中的root对应的host,改成%号之后(把localhost变成%),就可以进行远程登陆了。

Navicat Premium从本地连接到阿里云服务器出现1045-Access denied for user 'root'@'123.56.24.128' (using password:YES)

      4. 再进行连接测试,并能够成功远程连接到MYSQL

Navicat Premium从本地连接到阿里云服务器出现1045-Access denied for user 'root'@'123.56.24.128' (using password:YES)

     5.在进行上述操作之前,先要保证是否开放了相应的端口号,或者防火墙的设置是否配置好了,我的服务器的/etc/sysconfig/iptables 的配置如下:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [19:4554]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8090 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
COMMIT
# Completed on Tue Aug  8 08:33:47 2017
~                                        

     6. firewall-cmd --list-ports  查看下防火墙的的状态,我的暂时是关闭的

Navicat Premium从本地连接到阿里云服务器出现1045-Access denied for user 'root'@'123.56.24.128' (using password:YES)

     7.当然如果使用的是阿里云的服务器的话,还要添加安全组规则 ,0.0.0.0/0代表所有ip都可以访问

Navicat Premium从本地连接到阿里云服务器出现1045-Access denied for user 'root'@'123.56.24.128' (using password:YES)