腾讯云linux上面安全mysql后,通过公网ip远程访问mysql连接不上
1.mysql配置my.cnf 是否不允许外网访问

[root@VM_71_45_centos ~]# vim /etc/my.cnf //也可能不在此,版本不同,里面有提醒,找一下

找到里面bind-address
将bind-address = 127.0.0.1
设置成bind-address = 0.0.0.0(设备地址)或者直接注释该行

设置完重启mysql

2.mysql没有开启远程连接,命令进入

[root@VM_71_45_centos ~]# mysql -uroot -p
Enter password: 

 

进入后

mysql> use mysql
Database changed
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| xpjcake            |
+--------------------+
4 rows in set (0.00 sec)

修改mysql数据库user表

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

上面root为用户名,mypasswd为密码 all为全部权限。接着执行命令: 

mysql> flush privileges;  

(可参考mysql如何创建用户和管理)

.安全组问题,需要登陆你的云服务控制台,在安全组里面添加响应的端口即可。
image.png

5.linux本身防火墙问题
禁止防火墙或者配置端口允许访问
注:由于linux有不同的版本系统,禁止防火墙命令也不一样

vi /etc/sysconfig/iptables         //防火墙配置

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT            //允许3306端口通过

service iptables restart        //重启防火墙

Kason
209 声望6 粉丝