阿里云服务器连接不上3306端口,解决



一般连接远程的 mysql:3306端口 连接不上有3种原因,如果这3种你都试过,你还是阿里云服务器就拉到最下面;




1 。本机上防火墙没有开放3306端口,需要自己配置入站规则,或者关闭本机防火墙。

2 。linux 服务器上的 iptables 防火墙没有开放3306端口,  或者关闭服务器上的防火墙。


打开/etc/sysconfig/iptables

在"-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT",下添加:


     -A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT

3 。没有给mysql用户远程权限,

    

mysql> USE mysql; -- 切换到 mysql DB

Database changed

mysql> SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机

+------+----------+-----------+
| User | Password | Host      |
+------+----------+-----------+
| root |          | localhost |
+------+----------+-----------+
1 row in set (0.00 sec)

 

mysql> -- 只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接
12
mysql> -- 下面我们另外添加一个新的 root 用户, 密码为空, 只允许 192.168.1.100 连接

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY '' WITH GRANT OPTION;

 

mysql> -- @'192.168.1.100'可以替换为@‘%’就可任意ip访问,当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下:

mysql> -- UPDATE user SET Host='192.168.1.100' WHERE User='root' AND Host='localhost' LIMIT 1;

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

修改root密码
mysql> use mysql
 
Database changed
 
mysql> update userset password=PASSWORD('123456')where user='root';
 
Query OK, 0 rows affected (0.00 sec)
 
Rows matched: 1  Changed: 0  Warnings: 0
 
mysql> flush privileges;
 
Query OK, 0 rows affected (0.00 sec)


--------------------------------------------------------------------------------------------------------
 
   以上三种原因都试过没有解决并且你是阿里云服务器看下面;

   去阿里云服务器的控制器配置安全组规则,
   
   点击云服务器ESC->网络和安全->安全组;进入点击最后的 配置规则,

   啊然后看没有3306端口,添加安全组规则,添加

   协议类型:MY SQL(3306);
  
   授权对象:0.0.0.0/0

   然后验证通过,等会再试连接即可成功。



  





  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值