Kal*_*ope 3 mysql database ssh sequelpro
我可以用Sequel Pro连接到我的数据库,但我无法通过命令行.我已经按照他们的指示:http://www.sequelpro.com/docs/Connecting_to_a_MySQL_Server_on_a_Remote_Host#Do_I_need_to_use_the_Terminal_for_SSH_connections.3F
在他们的命令中,我从Sequel Pro的连接窗口和SSH选项卡中替换以下内容:
ssh -L 1234:mysqlhost:3306 sshuser@sshhost
mysqlhost => MySQL Host
sshuser => SSH User
sshhost => SSH Host
Run Code Online (Sandbox Code Playgroud)
当提示输入密码时,我使用"SSH密码"中的密码
我不确定Sequel Pro在幕后做的不同.
来自Sequel Pro文档的那条指令并非完整的故事; 它只是告诉你如何建立一个隧道.您需要第二步实际使用它来连接MySQL服务器.
实际过程分为两步:
创建隧道.
ssh -N -L 1234:mysqlhost:3306 sshuser@sshhost
Run Code Online (Sandbox Code Playgroud)
在-N
我加入只是告诉ssh
,你只能建立一个隧道,你不想启动的shell sshhost
.运行此命令看起来似乎什么都不做:它应该是什么样子.
只要该ssh
命令正在运行,本地计算机上与端口1234的连接将通过隧道传输sshhost
到端口3306(MySQL端口)mysqlhost
.
使用隧道连接到MySQL.
您现在需要运行mysql
命令行客户端.ssh
您刚刚运行的命令仍在运行,因此最简单的方法是打开一个新的终端窗口或选项卡,然后运行:
mysql -P 1234 -u mysqluser -p
Run Code Online (Sandbox Code Playgroud)
连接到您的数据库.该-P 1234
部分是此命令中唯一不同寻常的部分,它只是使mysql
客户端使用您在第一个命令中设置的端口进行连接以进行隧道连接.
完成隧道后,关闭原始终端窗口或使用Ctrl-C停止ssh
进程.