如何在Windows Server上允许MySQL进行外部远程访问?

时间:2013-01-12 16:20:29

标签: php mysql windows-server-2008-r2

我在我的Windows Server 2008 R2上安装了xampp。我正在那里运行一个脚本,可以在一天内存储数据。现在我想通过mysql_connect(“hostname”,“username”,“pw”)连接数据库,从我自己的计算机或外部检索数据。经过一些研究,我得知我必须赞扬

> [...]
> #bind-address = 127.0.0.1
> #skip-networking 
  [...]

/etc/mysql/my.cnf

在mysql中找不到my.cf文件,但在xampp / mysql / bin / my.ini中找到了一个。 但是当我打开文件时,我发现线条甚至评论过,所以没有改变任何东西.....很奇怪。

然后我被告知要创建一个主机设置为%的新用户。所以我做了。现在我试图访问我的电脑上的数据库(xampp),但当我想连接数据库时,我只是得到错误消息,连接失败。 错误在哪里?

谢谢

编辑:

多数民众赞成如何完全连接

$connection=mysql_connect("hostname","usrname","password")or die(mysql_error());
mysql_select_db("dbname")or die(mysql_error());

我得到的错误信息是德语,你可以跟踪。

警告:mysql_connect():Ein Verbindungsversuch ist fehlgeschlagen,da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat,oder die hergestellte Verbindung war fehlerhaft,da der verbundene Host nicht reagiert hat。在第4行的C:\ xampp \ htdocs \ tickerdata \ get.php

只是意味着连接失败,因为远程没有在某个时间段内做出反应或连接错误,因为主机没有做出反应......

1 个答案:

答案 0 :(得分:8)

如果无法远程连接到服务器,但可以在本地连接,则需要在防火墙中打开端口3306,或者从远程IP授予用户权限。

应该在Windows防火墙以及路由器防火墙中打开端口。您的路由器需要将端口转发到2008R2服务器。

在2008R2防火墙中打开端口:

http://www.2x.com/blog/2010/04/tech/configuring-the-windows-server-2008-r2-firewall-to-open-ports-for-2x-solutions/

授予用户对IP的权限:

GRANT ALL ON foo.* TO bar@'255.255.255.255' IDENTIFIED BY 'PASSWORD';

请记住,MySQL中可能有重复的用户名,如果您没有使用UNIQUE用户名创建新用户,那么您可能会获得用户被监禁到localhost的权限