我通过命令行访问远程 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

并在my.ini中加入:

    skip-name-resolve

然后我重新启动 apache 和 mysql。

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

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

谢谢

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

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

直接连接到远程数据库的最佳方式是通过 SSH 隧道。为此,您需要设置对远程系统的 SSH 访问(如果还没有的话),然后使用类似 ssh -L 9999:localhost:3306 example.com -N 的隧道。在ssh手册中查找细节。