无法从远程计算机上的 mysql 工作台连接到 phpmyadmin 或数据库
Posted
技术标签:
【中文标题】无法从远程计算机上的 mysql 工作台连接到 phpmyadmin 或数据库【英文标题】:Unable to connect to phpmyadmin or to database from mysql workbench on remote computer 【发布时间】:2016-02-19 02:27:54 【问题描述】:我环顾四周,发现了很多关于如何让它工作的文章,但我尝试过的都没有成功。
我在本地网络上有一个 Windows 8(64 位)虚拟机,我正在尝试连接到它以编辑数据库。通过 Microsoft 远程桌面,我可以毫无问题地连接到 phpmyadmin,但无法通过运行 MRD 的计算机上的浏览器连接到它。我尝试添加第二个用户,并将 root 和辅助用户的主机列设置为 %。我还为 root 创建了密码。
我在 Wamp 的 Alias 文件夹中的 .conf 文件中尝试了很多不同的 Allow/Deny 指令。我看到的例子有点不同,因为他们只是显示指令,而我在 confs 中有这个:
<IfDefine APACHE24>
Require local
</IfDefine>
<IfDefine !APACHE24>
Order Allow,Deny
Allow from all
</IfDefine>
我的头撞墙已经好几个星期了。虽然我可以通过远程桌面访问数据库,但我不是 VM 的唯一用户,如果我可以通过我的计算机访问它会更高效,如果我可以使用 Workbench 会更好。
忘了提一下:虽然我自己需要上述内容,但它也需要可供网络的任何用户使用,即使是通过 ***。
【问题讨论】:
wampserver 启动了吗? - 愚蠢的问题,只是检查! 是的。启动并重新启动了几次。 @Eric...你有远程授予对mysql db的访问权限吗? 【参考方案1】:您可以使用 SSH 隧道将 localhost:13306 转发到 remote:3306
ssh -L13306:dbhost:3306 user@remotehost
这将侦听本地主机上的端口13306
,通过ssh 隧道将连接转发到remotehost
,然后将它们转发到dbhost
端口3306
。
如果该数据库在远程机器上运行,请使用localhost
代替dbhost
,从远程机器上可以看到,它只是127.0.0.1
:
ssh -L13306:localhost:3306
如果您使用的是 Windows,则可以使用 Putty 设置 SSH 隧道。
登录后,您可以通过连接到计算机上的localhost:13306
来连接到远程数据库。
【讨论】:
【参考方案2】:经过一番绝望的挖掘,我终于找到了问题所在。我能够将 phpmyadmin 的 config.php 中的一些设置从 localhost 更改为 Web 服务器 URL。我以前做过一次,所以不知道为什么它第一次不起作用。可能是我没有将数据库中的主机更改为 %。
【讨论】:
以上是关于无法从远程计算机上的 mysql 工作台连接到 phpmyadmin 或数据库的主要内容,如果未能解决你的问题,请参考以下文章
计算机无法连接到远程计算机上的另一个控制台会话,您正在运行一个控制台会话,怎么办?
Visual Studio 2012 无法连接到远程计算机上的 BizTalk 适配器服务