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


I access remote phpmyadmin but not mysql via command line

我有一个遥远的Web应用程序和数据库,我想使用远程数据库在本地机器上做一些测试。

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

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

并添加我的.ini:

    skip-name-resolve

然后我重新启动 apache 和 mysql。

现在我可以毫无问题地访问 phpmyadmin,但不能通过命令行或我的 Web 应用程序在 mysql 中访问

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

谢谢

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

这很好。您永远不应该公开您的数据库到互联网上。

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