从外部网络访问phpmyadmin?

时间:2013-11-12 13:19:43

标签: php mysql phpmyadmin ip connect

我一直在玩这个代码,以便能够从外部网络连接:

以下代码完美如果我只有同一个网络:

<?php

define ('DB_USER', 'test_user');
define ('DB_PASSWORD', 'test_password');
define ('DB_HOST', '192.168.x.xxx:3306');
define ('DB_NAME', 'testing'); 
$dbc=mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) 
    OR die ('Could not connect to MySQL: '.mysql_error()); @mysql_select_db (DB_NAME) 
    OR die ('Could not select the database" '.mysql_error());;

?>

现在我在路由器设置79.xxx.xxx.xx中找到了IP地址,但是当我尝试更换192.168.x.xxx ip时,它显示以下错误:

Could not connect to MySQL: No connection could be made because the target machine actively refused it.

请注意我已经编辑了phpmyadmin配置文件并替换了以下内容:

<Directory "c:/wamp/apps/phpmyadmin3.5.1/">
Options Indexes FollowSymLinks MultiViews

AllowOverride all
Order Allow,Deny
Allow from all

</Directory>

我该怎么做才能让它发挥作用?请帮助谢谢

3 个答案:

答案 0 :(得分:1)

有两种选择:

A)您可以从任何地方访问所需的数据库:

User | Host
———————————
Any  | %

这被广泛认为是不安全的,因为现在任何人都可以尝试从任何地方强行访问您的数据库。

另请参阅:How to grant remote access permissions to mysql server for user?

B)您应该在安装了MySQL数据库的服务器上安装phpMyAdmin,并将vHost设置中对phpMyAdmin的访问权限限制为localhost。您仍然可以使用SSH隧道从任何地方访问此站点。

答案 1 :(得分:0)

您可以从网络外部访问pma,但您必须:

  • 使用公共IP(79.xxx.xxx.xx)
  • 从您的路由器设置expl(79.xxx.xxx.xx:8888转发到192.xxx.xxx.xxx:3306)转发端口

请注意,如果您没有静态IP,则每次公开IP更改时都必须更改主机(或使用dyndns之类的动态DNS服务)

答案 2 :(得分:-1)

您无法通过IP访问不同网络的本地计算机,并且您从路由器获取的IP可能是您的isp所以访问这样的计算机必须具有静态IP,以便您可以从任何设备访问该计算机网络