所以纠结的是用ODBC连接远程数据库。 我遵循了在互联网上找到的指南。他们告诉我建立一个 SSH 隧道,因为我的主机不允许直接连接,而我使用 PLink(Putty 控制台)建立了一个。 我什至可以使用控制台登录数据库(我有屏幕截图,但由于声誉限制我无法发布)。
但是当我尝试在 ODBC 驱动程序中设置 MySQL 连接器/ODBC 数据源配置时,我得到了
[08S01] [MySQL][ODBC 3.51 Driver]Lost connection to MySQL server at
'reading initial communication packet', system error: 0
我的设置:
TCP/IP Server: localhost [I tried 127.0.0.1 with no result]
Port: 3307
User/Password: I use those which were successful in signing in through console
Database: The list is empty so I cannot choose anything
plink 是用
启动的Params := '-v -ssh -2 -P 22 -C -l ******** -pw ******* -L 3307:ssh.******.nichost.ru:22 ssh.******.nichost.ru';
所以端口应该没问题。 不知道该怎么做,我用谷歌搜索了东西方,但没有找到任何对我有帮助的东西:(请帮忙。
最佳答案
我不明白你的端口转发设置。你正在使用
-L 3307:ssh.******.nichost.ru:22
这使得您端的端口 3307 的行为就好像它是远程端的端口 22 一样;但端口 22 通常属于 ssh 服务器,而不是数据库服务器。
如果你的 MySQL 服务器在远端监听 3307 端口,你需要 -L 3307:ssh.******.nichost.ru:3307
来连接它通过你这边的 3307 端口。
关于mysql - ODBC + 通过 SSH 隧道的远程 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32417724/