ubuntu环境下解决mysql不能远程访问问题

今天在帮群里一个小伙伴解决如题所说的问题时,才发现果然phpmyadmin有毒,好久没有使用mysql命令了,忘得都七七八八了。

通常情况下,遇到这个问题,先看端口是否正确,有些配置为了安全,更改了端口,比如mysql的3306改成3307或者8010等等…… 命令

mysql -u root -p

输入密码,进去后查看端口是否正确: 输入

show global variables like 'port'

端口没错,账号和密码也没错。排除上述问题,猜测防火墙问题。

1、安装iptables防火墙 ps:如果没有安装iptables需要先安装,,已有可以跳过,Debian/Ubuntu执行:

apt-get install iptables

CentOS执行:

yum install iptables

2、清除已有iptables规则

iptables -F
iptables -X
iptables -Z

重头戏来了。

3、开放指定的端口

允许访问3306端口

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

注:-A和-I参数分别为添加到规则末尾和规则最前面。

附带一些规则:

#允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允许访问443端口
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他端口的话,规则也类似,稍微修改上述语句就行
#允许ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT  #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT

4、查看已添加的iptables规则

iptables -L -n

语法:

  • v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
  • x:在 v 的基础上,禁止自动单位换算(K、M) vps侦探
  • n:只显示IP地址和端口号,不将ip解析为域名

其他

删除已添加的iptables规则,将iptables以序号显示,执行:

iptables -L -n --line-numbers  #numbers序号为条数

当然iptables的使用方法可以执行:iptables --help也可以google。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

iptables练习

一、COMMAND 1、列出所有链的规则:iptables -L ,显示某条链的规则就是iptables -L INPUT ? 详细信息:iptables -...

3176
来自专栏IT笔记

Linux下防火墙配置实例

操作系统centos centos7版本之前使用的是iptables,centos7版本之后变更为firewalld。 iptables配置实例 iptabl...

45610
来自专栏运维

linux备份脚本之遍历目录下所有二级目录并备份

1,备份脚本如下,我这里以备份CVS目录为例,总CVS目录下有几个Project,统统备份

2023
来自专栏散尽浮华

Iptables之recent模块小结

Iptables的recent模块用于限制一段时间内的连接数, 是谨防大量请求攻击的必杀绝技! 善加利用该模块可充分保证服务器安全。

2163
来自专栏大壮

iOS 自动打包 - fastlane

1 本文只是fastlane的基本使用. 2 使用fastlane前,确保你已经可以使用Xcode手动打包成功(说明你已经配置好证书)

1952
来自专栏刘远飞的专栏

CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

2.4K1
来自专栏静下来

linux防火墙执行清除命令iptables -F说明

如果服务器涉及到一些端口开放,特别是要自动连接无限制端口,那么我们就得清除Linux的防火墙。 但是绝大多数的Linux服务器,默认的防火墙是有OUTPUT策略...

47110
来自专栏追不上乌龟的兔子

[译]使用iptables控制网络流量

iptables是一个允许用户配置特定规则的应用程序,这些规则由将由内核netfilter框架强制执行。它充当数据包过滤器和防火墙,可根据端口,协议和其他标准检...

1K3
来自专栏IMWeb前端团队

webpack 项目 css/js主域重试

为了提高网站的访问速度,现在一般会将静态资源放在 CDN 下,而不是放在网站的域名之下。以腾讯课堂为例,其域名为 ke.qq.com,打开控制台,访问 ke....

25610
来自专栏运维小白

10.12 firewalld和netfilter

Linux防火墙-netfilter selinux临时关闭 setenforce 0 selinux永久关闭 vi /etc/selinux/config c...

2576

扫码关注云+社区

领取腾讯云代金券