我有一个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.
我在服务器上有一个MySQL数据库。我想知道如何连接到我的远程数据库并将数据显示到我的android应用程序中。
我知道这是使用WebService或direct的一种方式,但我不知道更多。
我有一个用Php编写的脚本,它位于服务器上,让连接到数据库
$db = mysql_connect("localhost", "UserName", "Password") or die (mysql_error());
mysql_select_db("NameofDB",$db) or die (mysql_error());
感谢您
当我尝试使用它的远程ip地址连接到本地mysql数据库时,我得到了一个访问被拒绝的消息。当我尝试从外部机器连接到相同的数据库时,它工作正常,没有任何问题。当我使用localhost连接到本地数据库时,它也能很好地工作。例如,如果数据库服务器的ip是1.2.3.4,那么我会得到以下结果:
# From the db server
mysql -u username -h localhost -p #works perfectly
mysql -u username -h 127.0.0.1 -p #works perfectly
mysql -u username -h 1.2.3.4 -p #
当我连接到数据库时,我总是使用"localhost“作为主机名。现在,我想从Windows程序连接到MYSQL数据库,我必须使用真正的IP,而不是本地主机。
我试图从以下方面使用服务器IP和IP:
SHOW VARIABLES WHERE Variable_name = 'hostname'
但两者都不起作用。如何检查真正的IP入口,它可以用于连接MYSQL?
MYSQL数据库安装在我的Debian服务器上,没有任何特殊设置。