我试图远程连接到MySQL数据库,从一台名为pc.domain.com的机器连接到一个名为remotehost.domain.com的服务器
DriverManager.getConnection("jdbc:mysql://remotehost:3306", "user", "pass");
在远程服务器上,我有用户'user'@'pc.domain.com' (具有适当的权限),但是当我试图连接时,会发生以下错误:
Host '128.0.200.82' is not allowed to co
我有一个Rake任务来停止远程MySQL服务器,如下所示:
task :stop_mysql do
#SSH connect to the remote db server first
#how???
#then, run the following command
system 'sudo /etc/init.d/mysql stop'
end
正如您在上面看到的,现在数据库服务器是远程,我知道数据库服务器的IP地址。
如何以编程方式使ssh连接到数据库服务器,并在上面的rake任务中运行命令以停止MySQL?
P.S.
我需要建立一个SSH隧道,以便本地PHP脚本能够连接到远程服务器上的MySQL服务器。
Remote machine: MySQL (127.0.0.1:3306) on Linux (SSH port 44422)
Local machine: Linux (Debian Squeeze)
问题是它不允许我连接这个命令:
ssh -oPort=44422 user@ip_address
如何建立一个SSH隧道,以便我的PHP脚本能够连接到远程MySQL?
(如果您认为另一种连接方法,例如通过PHP脚本建立SSH隧道更好,请告诉我。)
提前感谢!
编辑:我忘了提到SSH有一个单独的用户名/密码
我正在尝试从GoDaddy VPS访问远程MySQL数据库。我已经在我的服务器上启用了远程访问,但我需要在GoDaddy的VPS上打开3306端口。他们的支持告诉我,我需要通过SSH来做这件事,但他们无法提供更多的帮助。我已经成功地通过SSH连接到我的服务器。我已经运行了以下命令:
telnet myserver.com 3306
当我运行该命令时,我得到以下消息:SHost is not allowed to connect to this MySQL serverConnection closed by foreign host。
如何打开端口以允许连接到远程MySQL数据库?