mysql自带客户端连接服务器,mysql命令行客户端如何通过ssh服务器连接数据库啊?...

ssh到跳板机然后用 mysql 连接

利用ssh开启一个隧道

我这里的MySQL服务器是192.168.41.83, 我要在192.168.41.72连接

首先在192.168.41.72执行命令开启隧道

[root@mysql-test-72 ~]# ssh -NPf -o StrictHostKeyChecking=no root@192.168.41.83 -L 3305:127.0.0.1:3306

root@192.168.41.83's password:

[root@mysql-test-72 ~]#

-f: 完成连接后转入后台运行

-N: 不执行远程命令

-o StrictHostKeyChecking=no: 不提示是否要选择yes

3305: 本地端口

127.0.0.1:3306: 远程机器端口

检查端口状态

[root@mysql-test-72 ~]# netstat -ntlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 192.168.41.72:9991 0.0.0.0:* LISTEN 20409/mmm_agentd-te

tcp 0 0 127.0.0.1:3305 0.0.0.0:* LISTEN 28339/ssh

...

发现已经开启3305端口,尝试连接

[root@mysql-test-72 ~]# mysql -umytest -p -P3305 -h127.0.0.1

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 698103

Server version: 5.7.21-log MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like 'hostname';

+---------------+---------------+

| Variable_name | Value |

+---------------+---------------+

| hostname | mysql-test-83 |

+---------------+---------------+

1 row in set (0.01 sec)

连接成功

### 使用SSH隧道安全地连接到远程服务器 为了建立一个安全的数据传输通道,可以通过SSH隧道连接至远程服务器。这一方法不仅限于特定的应用场景,在多种情况下均能提供必要的安全性保障。 #### 配置SSH隧道的一般步骤 当目标是通过SSH隧道访问远程资源时,通常遵循一系列标准流程来设置这种连接。对于像ParaView这样的应用程序来说,其配置过程涉及几个关键环节[^1]: - **启动客户端软件**:确保本地机器上已安装并可运行SSH客户端程序。 - **指定目标主机信息**:明确指出要连接的目标服务器地址以及可能的身份验证细节。 - **定义端口映射关系**:设定好本地与远端之间的端口号对应规则,以便正确路由流量。 针对具体应用——比如连接MySQL数据库的情况,则有更加详细的指导说明。由于MySQL默认通信并不自带强加密机制,所以借助SSH隧道能够有效提升交互的安全等级。操作者需执行如下指令以创建通往远程MySQL实例的安全路径[^2]: ```bash ssh -L local_port:localhost:mysql_remote_port user@remote_host ``` 这里`local_port`代表本地计算机上的任意可用端口;而`mysql_remote_port`通常是3306(即MySQL的标准服务端口)。完成上述命令后,任何指向`localhost:local_port`的请求都会被透明重定向给位于远方的SQL引擎处理。 另外一种常见的应用场景是在开发环境中利用Visual Studio Code (VSCode) 实现跨网络边界的工作模式。这需要先获取名为 "Remote - SSH" 的插件支持,并按照提示完成初步环境搭建工作[^3]: 1. 打开VSCode界面内的扩展市场; 2. 查找并激活“Remote - SSH”选项; 3. 输入待接入设备的相关参数,如IP地址/域名、用户名等必要字段; 4. 跟随向导指示直至成功建立起稳定会话链接为止。 最后值得一提的是有关浏览网页的需求也可以经由这种方式得到满足。只需简单调整命令行参数即可开启动态代理功能,使得所有来自内网浏览器发出的信息都经过外部节点转发出去,从而绕过潜在封锁措施的同时也增强了隐私防护水平[^4]: ```bash ssh -N -D 127.0.0.1:8080 username@target_machine_ip ``` 以上便是几种典型情形下运用SSH技术构建临时性专用线路的方法概述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值