美文网首页
通过SSH隧道连接MySQL数据库

通过SSH隧道连接MySQL数据库

作者: 夜清溟 | 来源:发表于2023-02-20 16:38 被阅读0次

1、通过navicat的ssh隧道功能连接mysql
创建新的连接
常规选项:
"连接名" 自定义填写; "主机" 填写回环地址; "端口" 填写MySQL数据库所启用的端口号; "密码" 填写MySQL数据库的密码;


image.png

SSH选项:
"使用SSH通道" 勾选; "主机" 填写公网IP; "端口" 填写SSH所启用的端口号; "用户名" 填写服务器登录账号, "密码" 填写服务器ssh密码;


image.png

2、命令行连接:
首先建立ssh隧道,创建一个本地的SSH端口转发:

[root@server-1 test]# ssh -fCPN -L 3307:127.0.0.1:3306 -p 22 root@123.123.123.123

# 在本地打开一个SSH的守护进程,该进程会监听本地的3307端口,这个端口为隧道的入口,当访问本地的3307端口时,数据包会通过ssh进程,发送到远程主机的3306端口;
# -C    使用压缩功能,是可选的,加快速度;
# -P    用一个非特权端口进行出去的连接;
# -f    一旦SSH完成认证并建立port forwarding,则转入后台运行;
# -N    不执行远程命令.该参数在只打开转发端口时很有用(V2版本SSH支持);
 
The authenticity of host '********' can't be established.
ECDSA key fingerprint is SHA256:lmwBveuC78***goNI0J58cT8u9k4A3Yh6+wQ.
ECDSA key fingerprint is MD5:aa:34:0***:8f:62:01:50:6f:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '******' (ECDSA) to the list of known hosts.
 
root@*****'s password:
 
# 输入被远程主机的主机密码;

命令行连接数据库:

[root@server test]# mysql -h 127.0.0.1 -P 3307 -u root -p
 
# 通过本地3307端口连接MySQL数据库;
 
Enter password:
 
# 输入MySQL密码;
 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 7581
Server version: 5.7.25 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
MySQL [(none)]>
 
# 通过SSH隧道远程连接MySQL成功。

相关文章

网友评论

      本文标题:通过SSH隧道连接MySQL数据库

      本文链接:https://www.haomeiwen.com/subject/vrsgkdtx.html