因此,难点在于如何使用ODBC连接到远程数据库。我遵循了我在互联网上找到的指南。他们告诉我建立一个SSH隧道,因为我的主机不允许直接连接,而我使用PLink (Putty console)建立了一个隧道。我甚至可以使用控制台登录到数据库(我有一个屏幕截图,但由于声誉限制,我无法发布它)。
但是,当我尝试在MySQL驱动程序中设置ODBC连接器/ODBC数据源配置时,我得到
[08S01] [MySQL][ODBC 3.51 Driver]Lost connection to MySQL server at
'reading initial communication packet&
我正在尝试从Windows 10连接到Ubunutu 14.04。我正在使用ssh。连接看起来就像登录到机器上一样,但它并没有连接到数据库。我知道我用的是正确的密码。错误消息为:
Failed to connect to MYSQL at localhost:3306 through SSH tunnel at username@xx.xx.xx.xx with user xxxx
Unable to establish SSL connection
日志显示:
12:27:02 [INF][ SSH tunnel]: Existing SSH tunnel not found, open
我正试图从DO中的一个小滴连接到一个托管的MySQL 8数据库。
在液滴中,这是MySQL版本
mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
我想,这就是我使用的“mysql客户端”。
我创建了一个托管数据库,并且能够从本地连接。我把我的ip和水滴白化了。
但是,当我通过ssh连接到液滴,然后尝试连接到MySQL时,用我从计算机上使用的相同的命令,我得到
错误2026 (HY000):SSL连接错误:未知错误号
我正在开发一个小型的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
结果很好。
我有一个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服务器上很少数据库的python脚本。问题是,当我在办公室工作时,我的脚本工作正常,但是在office上从家里运行脚本会产生连接错误。
我还注意到,mySQL客户端松鼠也不能从我家连接,但在办公计算机上工作正常。我认为这两个人都是出于同样的原因而产生问题的。
我需要创建一个ssh隧道并转发端口吗?如果是,我该怎么做?mySQL安装在我有ssh访问权限的服务器上。
请帮我一下
AK