【发布时间】:2014-10-17 13:39:16
【问题描述】:
设置
我目前正在使用 MediaTemple 提供的高级 Wordpress 托管。我有一个非常大的数据集要导入,我希望通过 SSH 隧道直接访问数据库。
--------------- ------------------- ------------
| My Machine | ---- SSH TUNNEL -----| Hosting Server | -- -- ? -- -- | Database |
--------------- ------------------- ------------
什么有效
如果我通过 ssh 进入 Hosting Server 并从 shell 上的 Hosting Provider,像这样连接到 mysql,我就可以进入 MySQL。
mysql -uuser -ppassword -h123.456.789.1 -P3308
什么不起作用
但是,如果我尝试使用 -L 标志和 SSH 连接到 MySQL 来创建隧道,我将无法连接到服务器。
ssh me@hostingserver.net -L 7002:123.456.789.1:3308
从 shell 上 My Machine:
mysql -uuser -ppassword -h127.0.0.1 -P7002
我收到以下错误:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
通过阅读其他答案(StackOverflow 、StackOverflow),我推断问题源于 MySQL 客户端尝试绑定的 IP 地址。我认为附加到连接请求的 IP 地址在我的机器上执行时不在Database Server 的白名单上。
是否可以从My Machine 直接访问 MySQL 数据库。从系统管理的角度来看,我显然有足够的权限从 shell 连接到 MySQL 数据库,但我无法在 My Machine 上运行客户端。我有一个非常大的数据集,我想从My Machine 转移到Database。我还希望能够在需要时访问数据库并执行 SQL。这和大型数据集类型消除了在Hosting Server 上仅使用来自 MySQL 客户端的source 命令的可能性。什么是让我能够从My Machine 在Database 上运行 SQL 的最佳解决方法?
【问题讨论】:
-
这可能会有所帮助serverfault.com/a/136792
-
感谢您的链接,但我认为我无法直接通过 SSH 访问数据库服务器。
标签: mysql database ssh mediatemple