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成功。
网友评论