我有一个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.
我查看了其他帖子,但没有找到这个特定问题的答案。
为了简单起见,下面是我使用mysqlworkbench连接到db的设置。
ssh hostname :somehostname.com:22
ssh username: ec2-user
ssh password : my private key password
ssh keyfile /Users/me/.ssh/id_rsa : this is my private key stored on my local machine
mysql hostname: qa.cbhasfasupvz.us-east-1.rds.amazonaw
我有一个运行MySQL的Aurora无服务器数据库集群。我正在尝试编写一个应用程序,它从脚本中提取一个字符串并将其放入数据库中。
我已经能够使用我在PuTTY中的ec2、ec2上的一个节点程序和MySQL工作台成功地连接到集群,但是我无法使用我自己的代码。我正在尝试使用节点模块ssh2和mysql2。
var mysql = require('mysql2');
var Client = require('ssh2').Client;
var ssh = new Client();
ssh.on('ready', function() {
我需要从一台服务器查询mysql数据库。mysql数据库位于另一个网络上。我只能从特定的服务器连接到这个网络。
我需要创建一个从服务器1到服务器2的隧道,并使用这个隧道连接到我的mysql数据库。
这是我目前的密码。这允许我连接到服务器2的本地mysql服务器,但不能连接到远程mysql服务器。
var Client = require('ssh2').Client,
mysql = require('mysql2'),
var client = new Client();
var ssh = client.connect({
host: config.s
我在google cloud上创建了一个tomcat堆栈实例,它附带了MySQL5.5。我可以通过终端通过ssh访问它,然后输入命令行mysql -u username -p。然而,我试图通过mysqlworkbench访问数据库,但我无法获得连接。
因此,我想我需要使用"Standard TCP/IP over SSH“连接方法,并且我需要确认我的参数是否正确。
SSH Hostname: the IP of my instances <br/>
SSH Username: my google account username? this is the one i use
我正在开发一个小型的Ruby程序,它将连接到远程MySQL Bugzilla数据库,执行记录查询,并每天向一个组发送这些记录的详细信息。
到目前为止,我已经能够将SSH发送到db服务器,并使用net执行命令。下面是一个例子:
require 'net/ssh'
Net::SSH.start("db.example.com", "sroach", :password => "secret") do |ssh|
result = ssh.exec!("ls -l")
puts result
end
结果很好。