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

我通过命令行访问远程phpmyadmin,但不访问mysql,php,mysql,apache,phpmyadmin,xampp,Php,Mysql,Apache,Phpmyadmin,Xampp,我有一个远程web应用程序和数据库,我想使用远程数据库在本地机器上进行一些测试 所以我更改了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 现在我可以毫无问题地访问phpmy

我有一个远程web应用程序和数据库,我想使用远程数据库在本地机器上进行一些测试

所以我更改了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,但不能通过命令行或web应用程序访问mysql

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


谢谢

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

这很好。您永远不应该将您的数据库公开给internet


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

在其中添加一个问题如何?通过deamon访问mysql与apache配置无关。安装MySQL时,根用户默认配置为通过命令行访问。如果你需要从其他环境访问MySQL,你需要在MySQL中授予特权,所以你有一个远程服务器,远程安装了phpmyadmin,你在远程服务器上设置了上面的配置;您想知道为什么您的本地mysql命令行无法连接到远程mysql数据库?@deceze这正是我的问题,我认为您可以使用SSH协议来实现。我认为您应该要求您的主机提供商允许您使用SSH访问,如果他们允许的话。由于安全原因,您无法远程访问数据库。phpmyadmin正在主机服务器上工作,可以直接访问数据库。我之所以想通过命令行连接,是为了确保我能够远程访问Mysql,因为最终的目标是在本地运行web应用程序,但使用远程数据库。所以使用ssh不适合我的需要!你真的想把MySQL数据库公开给互联网站吗?欧欧欧。。。SSH隧道仍然是一个完美的选择。一旦建立了隧道,任何应用程序都可以通过它进行连接。