【发布时间】:2014-05-01 16:02:50
【问题描述】:
我正在托管我自己的 Web 服务器,并尝试从我的笔记本电脑(而不是服务器)访问我的 MySQL 数据库。在我的笔记本电脑上,我在 config.inc.php 文件中添加了以下内容:
$i++;
$cfg['Servers'][$i]['verbose'] = 'xx.xxx.xxx.xxx';
$cfg['Servers'][$i]['host'] = 'xx.xxx.xxx.xxx';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'nick';
$cfg['Servers'][$i]['password'] = 'xxxxxxx';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
我在服务器上创建了一个名为“nick”的用户,拥有所有授权。我已经尝试了上面代码的很多不同配置,但我无法远程连接。
主机 IP 是我的路由器的 IP,它使用 DNS 将其链接到域名,我想它与这里需要的主机相同。我正在为我的网站转发 8080 端口,并在 DNS 中使用端口 80 重新路由。尝试从笔记本电脑连接到服务器时出现此错误:
错误 MySQL 说:文档
2002 - 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。
服务器没有响应(或本地服务器的套接字配置不正确)。
有人请帮忙,我不想永远花在这个上:/我应该在网站上工作,而不是 MySQL 远程连接哈哈!
【问题讨论】:
-
请澄清:您尝试连接的机器是路由器后面,还是路由器外面?你是通过路由器转发3306吗?目标机器的防火墙是否打开?您实际创建了哪些赠款?您正在使用的 ISP 是否完全阻止 3306(有些会)?
-
目标机器是否设置为接受到
my.cnf中的3306 的入站连接(也就是说,它是否绑定到外部地址,并且skip-networking未启用)?建立与远程数据库的连接有很多故障点。 -
@MichaelBerkowski 我的笔记本电脑和服务器机器都在同一个局域网上,使用同一个路由器。我的 ISP 没有阻止 3306。我没有转发 3306,我会尝试的。我是用 Wampserver 运行的,所以没有 my.cnf,不过 my.ini,你知道如何在 my.ini 中配置吗?
-
@MichaelBerkowski 我尝试转发端口,但仍然无法正常工作:/ 我只是希望能够在每次需要时无需将显示器、鼠标和键盘连接到服务器即可编辑数据库改变一下哈哈!
-
刚刚修好了。我必须在我的 Windows 防火墙中为端口 3306 添加一个异常并转发它。
标签: mysql phpmyadmin remote-access