我在Amazon上创建了一个mysql实例,它给了我以下设置:
我试图通过mysql工作台连接到这个MySQL服务器,它总是说SSH隧道没有经过身份验证。
我已经尝试通过命令提示符连接到服务器,并且运行良好。下面是我使用的命令:
mysql -h ['Endpoint' from setting] --ssl_ca=C:\Users\Jason\Downloads\mysql-ssl-ca-cert.pem -P 3306 - u ['Username' from setting] -p
这提示我输入密码,它运行良好!
现在,当我尝试使用MySQL工作台时
我有一个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.
我基本上按照terraform示例创建了RDS:
我使用的是现有的VPC,在此VPC中创建实例时,可以使用ssh密钥文件cloudeng.pem进行SSH
MySQL terraform使用端点demo-rds.abc.us-east-1.rds.amazonaws.com创建RDS。
因此,我正在尝试通过MySQL工作台设置连接。
Workbench需要以下各项:
SSH Hostname: not sure how to set, tried `172.31.96.233` from ping `endpoint dmo-rds.abc.us-east-1.rds.amazonaws.c
我正在尝试从虚拟机(Ubuntu,运行在Azure上)连接到远程MySQL DB。
当我通过命令行从计算机访问DB时,我输入:
mysql -u username -h www.foobar.nyc -p
这就提示我输入密码。当我输入密码时,它成功地将我登录到远程数据库。
现在,当我执行与上面相同的操作时,而不是从ssh进入的远程vm中,输入我的pw后返回以下错误。
ERROR 1129 (HY000): Host 'xxx.xx.xxx.xxx' is blocked because of many connection errors; unblock with 'm
我查看了其他帖子,但没有找到这个特定问题的答案。
为了简单起见,下面是我使用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