【问题标题】:How to access db in vpsvps如何访问数据库
【发布时间】:2011-04-28 17:46:15
【问题描述】:

您好,为了访问我的 vps 上的数据库,我必须先通过 ssh 进行连接,我已经使用 MySQL WORKBENCH 对其进行了测试,并且它可以工作。 但是 Netbeans(工作 ide)在创建数据库连接时不提供 ssh 连接,因此我无法将本地应用程序连接到新服务器。 我该如何解决这个问题? 我如何设置我的 jta 数据源来处理这个问题?

非常感谢 此致 伊格纳西奥

【问题讨论】:

  • 有没有我可以使用的 ip@user;pass:port 顺序的东西?

标签: java mysql linux deployment vps


【解决方案1】:

有两种方法可以从 netbeans 归档连接:

  1. 真正不安全的方法: 让 MySql 监听连接到 Internet 的网络接口。在你的 mysql-configuration 文件中设置 bind-address 为 0.0.0.0 并且 mysql 会监听所有的接口。 http://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_bind-address 然后您可以从 Internet 上的任何地方访问 MySql。
    记住:这是一个严重的安全漏洞!搜索谷歌,你会发现很多文章都非常详细地解释了原因。

  2. 安全方法: SSH 可以进行端口转发。这意味着,您本地计算机上的一个端口会侦听连接并将所有加密好的流量通过隧道传输到远程端口。在 linux 上,这是通过 ssh -L 3306:localhost:3306 YOUR_SERVERS_IP 完成的。然后,您可以访问 localhost:3306 上的 MySql-Server,就像它在本地计算机上运行一样(只是速度较慢)。在 Windows 上 Putty 可以配置为执行相同的操作。我不记得确切的位置,但是在设置连接的对话框中(在命令提示符之前),您还可以配置端口转发。

  3. 编写一个在您的服务器上运行的应用程序,它负责授权并向用户公开 API(例如 Youtube-api,它有一些公共方法,但也有一些需要身份验证)。这可以通过多种不同的方式完成,例如 XMLRPC(使用 Web 服务器和一些 Web 应用程序)或自定义协议。这可能是最适合生产使用的一种。

【讨论】:

  • 2 是要走的路,但它还没有工作,我正在通过 putty 从 winwods 连接到 linux,但是命令说它已经在使用中,但是当我尝试从 netbeans 连接时它失败了
  • @Ignacio 听起来您在该端口上运行了一些东西,我们的配置不起作用。如果您在该 vps 上运行任何其他服务(如 Web 服务器),请尝试重定向。如果这样可行的话,MySql 有问题(只监听套接字?看看是否启用了“skip-networking”..),如果没有,你的配置是错误的。
  • 你在哪里,但现在有差异问题,如果可能,请查看新问题,非常感谢Muchhh
【解决方案2】:

在你的防火墙上戳一些洞让 NetBeans 连接?

我建议您只需将数据库复制到您的开发环境中,除非您准备好“发布”,否则不要接触 VPS。

【讨论】:

  • 但是当我意识到我的应用程序需要通过 ssh 连接到 vps 中的数据库时(除非我现在更正问题)。
  • 我应该让我的管理员在防火墙中打开 3306 吗?应该这样做吗?
猜你喜欢
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-01
  • 2020-10-05
  • 2010-10-30
  • 1970-01-01
相关资源
最近更新 更多