我通过命令行访问远程phpmyadmin但不访问mysql

时间:2015-01-14 12:40:39

标签: php mysql apache phpmyadmin xampp

我有一个远程Web应用程序和DataBase,我想使用远程数据库在本地计算机上进行一些测试。

所以我改了httpd-xampp.conf - > LocationMatch:

    Order deny,allow
    #Require local
    Allow from ::1 127.0.0.0/8
    Allow from xx.xx.xx.xx

并加入my.ini:

    skip-name-resolve

然后我重新启动apache和mysql。

现在我可以通过命令行或我的网络应用程序访问phpmyadmin而不会出现问题,但不能访问mysql

如何通过命令行远程访问mysql?

谢谢

1 个答案:

答案 0 :(得分:0)

Phpmyadmin不是数据库。 Phpmyadmin是一个用PHP编写的GUI,可以帮助您直观地使用数据库。实际的数据库是MySQL。 MySQL正在您的远程服务器上运行,可能希望在防火墙后面运行。在同一台机器上是Apache服务phpmyadmin。 Apache可以访问外部世界。 Phpmyadmin可以访问MySQL数据库,因为它在同一台机器上本地运行。您无法从外部世界连接到MySQL数据库,因为它位于防火墙后面和/或不接受来自互联网的随机连接。它与Apache无关。

这很好。您永远不应公开将您的数据库暴露给互联网。

直接连接到远程数据库的最佳方法是通过SSH隧道。为此,您需要设置对远程系统的SSH访问(如果尚未设置),然后使用ssh -L 9999:localhost:3306 example.com -N之类的隧道进行隧道连接。查看ssh手册中的细节。