关于内网数据库的连接问题

前些日子有位群友在群里问到关于mysql的内网访问问题,许久没人回答,在此稍微记录下,也方便日后查找

图1:

这个问题的原因是服务器的防火墙没开放端口,Linux下的配置(转自:http://www.myhack58.com/Article/48/66/2012/34999.htm),前人的经验必须吸取,

vi /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙) 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) 
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面

添加好之后防火墙规则如下所示:

###################################### 
# Firewall configuration written by system-config-firewall 
# Manual customization of this file is not recommended. 
*filter 
:INPUT ACCEPT [0:0] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [0:0] 
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT 
-A INPUT -j REJECT –reject-with icmp-host-prohibited 
-A FORWARD -j REJECT –reject-with icmp-host-prohibited 
COMMIT 
#####################################

/etc/init.d/iptables restart  
     #最后重启防火墙使配置生效

windows的配置,自己百度;

图2:

这个问题的原因是,服务器的mysql没有设置访问其服务的外部ip,也就是外部访问权限,解决方法(截图的,地址忘了,不好意思),进入服务器的mysql执行sql语句,如下:

基本到了这部就可以解决了,有点需要注意的问题,这里提提,内部测试的时候要注意网络的连接方式,无线连接的情况下要注意路由器的设置。

时间: 2024-12-11 00:00:32

关于内网数据库的连接问题的相关文章

如何使用Navicat连接阿里云内网数据库。

打开Navicat 点击连接,填写数据库相关信息. 选择SSH模块,勾选时候SSH通道.填写服务器的相关信息. 点击确定,这就是使用Navicat连接阿里云内网数据库. 注:使用内网地址登录数据库,安全,不占用带宽.

通过ssh管道连接内网数据库(mysql)

公网连接内网数据库(如云数据库)时,通常需要白名单:如果不是白名单IP,通常需要一个跳板机(类似代理)来连接内网数据库, 下方以mysql为例(其他数据库基本一致): import pymysql as mysqlfrom sshtunnel import SSHTunnelForwarder server=SSHTunnelForwarder((SSH.IP,SSH.PORT), #跳板机ip及端口 ssh_username=SSH.USERNAME, #跳板机账号 ssh_password=

公网访问内网数据库--Haproxy配置

Haproxy配置外网访问内网mysql 本台机器的外网ip:106.23.22.1 内网数据库ip:10.10.10.1 1.安装haproxy yum -y install haproxy vim /etc/haproxy/haproxy.cfg 2.需要在haproxy配置文件后端配置中(haproxy.cfg)添加以下配置即可 ########backend后端配置############## listen mysql bind 0.0.0.0:3307 #此处指定的允许哪个ip以及使用

holer实现外网访问内网数据库

外网访问本地数据库 本地安装了数据库,只能在局域网内访问,怎样从公网也能访问内网数据库? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装并启动数据库 默认安装的数据库端口是3306. 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:holer-xxx.tar.gz Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包. 2.2 获取holer access key信息 在holer官网上申请专属的holer access key

通过mysql-proxy映射外网访问内网数据库

配置教程: 转自:http://www.centoscn.com/mysql/2015/0107/4437.html centos安装mysql-proxy mysql-proxy的用处就不再说了 mysql-proxy依赖libevent,lua,glib2等几个软件 所以在安装之前先 yum install lua-devel yum install glib2-devel libevent我采用源代码安装, 下载的 libevent-1.4.13-stable.tar.gz tar zvf

内网间远程连接的方案

之前一直在找办法,让家里可以使用XShell连接到公司的linux虚拟机.均处于内网环境,在此记录下可行的方法 方案一:nat123 描述:非网站映射或者全端口映射都可以实现,非网站映射可以单独在虚拟机安装服务就行,但是速度不理想.全端口映射(P2P) 可以实现点到点的访问,但是两端都要安装客户端. 方案二:向日葵 描述:跟nat123原理差不多. 方案三:ZeroTier 描述:虚拟局域网.就是通过一个公共的服务器,建立一个虚拟局域网,让家里电脑和公司电脑同处于一个虚拟局域网,然后通过分配 到

怎样从外网访问内网数据库?

本地安装了一个数据库,只能在局域网内访问到,怎样从外网也能访问到本地的数据库呢?本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动数据库 默认安装的数据库端口是1024. 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:holer-xxx.tar.gz Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包. 2.2 获取holer access key信息 在holer官网上申请专属的holer access key或者使用开源社区上公开的

客户端访问内网数据库

方法一:使用SecureCRT客户端工具 通过SecureCRT工具连接到中转服务器,并创建SSH Turnal . 1.在可以连接到中转服务器的session上选择新建PortForwarding. 2.随便起一个名字,在local上填写本地ip 127.0.0.1 端口填写一个没被使用的端口,Remote是要连接道的mysql服务器的主机和端口. 3.在window的客户端填写上面的local的主机IP和端口9987,用户名和密码是mysql授权的用户名和密码,上面的secure的到中转机的

外网访问服务器内网的数据

客户公司给了他们自己的服务器(外网ip还有跟外网在一个网段的内网IP),我也不清楚这个是什么服务,目前没有琢磨明白. 但是客户给出了这样的组合,意思肯定是,数据都放在内网服务器上.对外的接口和程序服务都放在外网服务器上面. 问题来了,数据都在内网上,我用自己的开发机想要看数据咋办捏,最简单的方法,远程桌面上外网服务器,在链接内网数据库. 那这还得一直霸占着服务器的远程桌面,妨碍别人使用. 我们数据库管理员给出了自己的解决方案,用外网服务器数据库同步内网服务器的数据,然后通过外网服务器就能看到数据