本文主要是介绍linux搭建跳板机连接远程数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
linux下的navicat for mysql不是很好用,就算是破解了也会出现汉字显示不出来的情况,于是我换成了甲骨文的workbench,用起来还可以。今天需要连接一个数据库,连接之前需要跳板,之前在windows环境下用过跳板机,那个时候用securityCRT直接搭跳板就好,linux下怎么办呢,从网上找了个教程,地址:https://yq.aliyun.com/ziliao/78376,然后搭建成功了,这里顺手log一下。(其实workbench是可以配置跳板机的,在连接的地方选择连接方式的Standard TCP/IP over SSH,填写跳板机信息就好了,但是如果在本地测试需要连接数据库的时候,就需要ssh的方法搭建跳板机了)
(1)新建一个文件,命名为mysql-tunnel.sh,输入:
sshpass -p XXXXXX ssh -f dbproxy@aa.aa.aaa.aaa -L 33060:bb.bb.bb.bbb:3306 -N
PS:sshpass 是ssh的辅助工具,可以通过apt-get安装,这个工具可以免输入ssh连接的密码,通过-p参数给出,如上,-p之后就是登录aa.aa.aaa.aaa的密码。
ssh -f admin@aa.aa.aaa.aaa -L 33060:bb.bb.bb.bbb:3306 -N
--------start--------
ssh命令中,-f 表示让ssh在执行命令(这里没有配置执行任何命令)之前进入后台运行状态; -L 指定本地的一个端口(如这里的33060),它将会被转发到远程IP的一个端口(如:bb.bb.bb.bbb:3306);-N 表示不执行远程命令,对于只做端口转发的场景非常有用。
在MySQLWorkbench中,将原来连接MySQL的IP和端口,配置为设置的本地SSH Tunnel即可(这里设置的是:localhost:33060)
--------end--------- 摘自https://yq.aliyun.com/ziliao/78376并修改部分内容
把上面的文件保存后就可以执行一下设置好跳板机。
再给出关闭的脚本:
ps -ef |grep 'sh -f' |awk '{print $2}'|xargs kill -9
这篇关于linux搭建跳板机连接远程数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!