2010-03-04 56 views
1

我想连接到一个MySQL数据库,该数据库运行在位于Web托管公司(siteground)的服务器中。我可以远程连接到位于虚拟主机服务器上的mysql数据库吗?

这可以实现吗?是否有端口连接到mysql数据库(3306)?

如果不是,有没有可以实现这一目标的服务器? PS:我使用的是Delphi,而我在本地使用ODBC来使用ODBC。

+3

一般情况下,这种类型的问题是更好的给serverfault.com。特别是,网络托管公司是否能够更好地通知您他们对DBMS后端的支持(或缺乏)以及他们的限制/权限? – mjv 2010-03-04 00:09:33

回答

2

非常感谢大家。

问题解决了! :d

我接触的支持在托管公司,他们告诉我,其可能的,给了我这个有用的链接

http://kb.siteground.com/article/I_have_problems_accessing_my_mysql_database_remotely.html

所有我必须做的是增加一个“远程MySQL主机”这是我的IP,然后我将数据库添加到Windows的ODBC和它工作得很好,就好像它在本地数据库(只有更慢)。

+0

我不会使用端口3306通过Internet连接到服务器;没有任何流量被加密。你的密码,一切 - 一切都很清楚。使用SSH隧道,看看您是否可以重新配置MySQL数据库,以使该端口不可用于Internet。 – Mei 2012-04-09 13:22:38

3

这取决于您的托管服务提供商,你将不得不问他们。 3306通常是正确的端口。

但是,通常情况下,出于安全原因,该端口因外部访问而关闭。

0

我想你可以,但你必须启用它。尝试阅读documentation

您可以通过添加其域名或IP地址被允许远程访问你的数据库的主机列表允许从外部位置访问MySQL数据库。此外,如果您想要使用远程数据库管理应用程序管理数据库,则应将建立连接的IP地址添加到允许的主机列表中。

为了添加允许的主机,你应该通过的cPanel访问工具 - >远程MySQL:

那么你应该输入所需的域名或IP地址的主机领域:

点击添加主机按钮。

确认消息将通知主机已成功添加。下一次访问远程MySQL时,新添加的主机将列在访问主机下。

0

如果您有SSH访问您的托管服务提供商,您可以创建一个隧道,然后将所有本地流量路由到它。在本地机器上做这样的事情:

ssh -L3306:localhost:3306 [email protected] 

提供您的密码,并在您执行ssh命令将有3306端口重定向到托管服务提供商的机器。这是,如果你连接到你执行命令的机器上的本地主机:3306,它实际上将连接到主机提供商。

相关问题