连接到:CentOS v ?? 用MySql 4。 在纳什维尔(例如public ip = 11.11.11.11)
堆栈:电缆调制解调器作为网关>转发路由器> CentOs Box
连接:达拉斯的Windows 2003 R2(例如public ip = 22.22.22.22)
我想通过我的公共IP从远程服务器访问我的MySql服务器。 当我尝试连接时,在几秒钟后出现“无法打开与主机的连接”的错误。 它没有机会要求我login凭据。 以下是我为打开远程连接打开此服务器所做的一些操作:
当我试图从达拉斯的箱子telnet到3306港口的纳什维尔的箱子时,我得到这个:
C:\Documents and Settings\Administrator>telnet 11.11.11.11 3306 Connecting To 11.11.11.11...Could not open connection to the host, on port 3306: Connect failed
不过,我可以从22.22.22.22 11.11.11.11(抱歉格式不好…我试过):
C:\ Documents and Settings \ Administrator> ping 11.11.11.11
Pinging 11.11.11.11与32个字节的数据:
回复11.11.11.11:bytes = 32 time = 57ms TTL = 54 Reply from 11.11.11.11:bytes = 32 time = 61ms TTL = 54 Reply from 11.11.11.11:bytes = 32 time = 56ms TTL = 54 Reply from 11.11.11.11 :字节= 32时间= 57ms TTL = 54
Ping 11.11.11.11的统计数据包:已发送= 4,已收到= 4,丢失= 0(0%丢失),以毫秒为单位的往返时间:最小= 56ms,最大= 61ms,平均= 57ms
11.11.11.11的IP表格如下:
[root @ centos〜]#/ sbin / iptables -L Chain INPUT(policy ACCEPT)目标
protselect源
目的地
RH-Firewall-1-INPUT全部在任何地方
tcp – 22.22.22.22任何地方tcp dpt:mysql连锁FORWARD(政策接受)目标
protselect源
目的地
RH-Firewall-1-INPUT全部在任何地方连锁OUTPUT(策略ACCEPT)目标
protselect源
目的地链路RH-Firewall-1-INPUT(2参考)目标protselect源目的地ACCEPT全部 – 任何地方任何地方ACCEPT icmp – 任何位置
任何地方icmp任何接受
ESP – 在任何地方接受接受啊 – 在任何地方
任何地方ACCEPT udp – 任何地方224.0.0.251 udp dpt:mdns ACCEPT udp – 随时随地
udp dpt:ipp ACCEPT tcp – 任何地方的任何地方
tcp dpt:ipp接受所有 – 任何地方的任何地方
状态RELATED,build立了接受
tcp – 任何地方的任何地方状态新tcp dpt:mysql接受
tcp – 任何地方的任何地方状态新tcp dpt:ssh拒绝所有 – 在任何地方拒绝-with icmp-host-prohibited
@Sunny:现在,本地IP地址列在/etc/my.conf中。 为了看看发生了什么,我用11.11.11.11取代了本地IP地址。 当我这样做,MySql无法启动备份。 我猜这个绑定地址实际上是一个ip地址。
我可以使用本地IP地址从同一networking上的另一台机器连接到MySql。 但是,即使在本地,我也无法使用11.11.11.11连接。
有任何想法吗? 不是一个Linux的家伙,我有点瞎了。
检查my.conf和MySql服务器有哪些绑定。
它可能是这样的,它只侦听本地networking。
您正在/etc/my.conf或/etc/mysql/my.conf中查找绑定地址设置。
如果启用此设置(通常只绑定到本地主机127.0.0.1),注释掉它,这将允许MySql侦听所有可用的接口。
无论如何,通过Internet直接访问数据库服务器根本不是一个好主意。
我强烈build议你使用SSH隧道通过Internet访问机器。
在windows上,你可以使用putty把ssh( 创build一个通道 )到MySql机器中。 您可以将本地3306端口转发到远程端口,然后使用localhost:3306访问MySql服务器。