在本文中,我们将说明如何创建SSH隧道并从远程客户端连接到MySQL服务器,相同的说明也适用于MariaDB。默认情况下,MySQL服务器仅在localhost上侦听,这意味着它只能由在同一主机上运行的应用程序访问。但是,在某些情况下,你可能希望从远程位置连接到服务器,一种选择是将MySQL服务器配置为允许远程连接,但这需要管理权限,并且可能会带来安全风险,一种更安全的替代方法是创建从本地系统到服务器的SSH隧道,SSH隧道是一种在客户端和服务器计算机之间创建加密SSH连接的方法,通过该连接可以中继服务端口。

先决条件

1、SSH客户端。

2、通过SSH访问运行MySQL服务器的系统。

在Linux和macOS上创建SSH隧道

ssh客户端已预安装在大多数基于Linux和Unix的系统上。

如果你使用Linux或macOS作为操作系统,则可以使用以下命令创建SSH隧道:

$ ssh -N -L 3336:127.0.0.1:3306 [USER]@[SERVER_IP]

使用的选项如下:

1、-N-使SSH不要执行远程命令。

2、-L 3336:127.0.0.1:3306-创建本地端口转发,本地端口(3306),目标IP(127.0.0.1)和远程端口(3306)用冒号(:)分隔。

3、[USER]@[SERVER_IP]-远程SSH用户和服务器IP地址。

4、要在后台运行命令,请使用-f选项。

5、如果SSH服务器正在侦听22以外的端口(默认端口),请使用-p [PORT_NUMBER]选项指定端口。

运行命令后,系统将提示你输入SSH用户密码,输入后,你将登录到服务器,并建立SSH隧道,最好设置一个基于SSH密钥的身份验证并连接到服务器而无需输入密码。

现在,你可以将本地计算机MySQL客户端指向127.0.0.1:3336,输入远程数据库登录帐户并访问MySQL服务器。

例如,要使用命令行mysql客户端连接到MySQL服务器,运行:

$ mysql -u MYSQL_USER -p -h 127.0.0.1

其中,MYSQL_USER是具有访问数据库权限的远程MySQL用户。

出现提示时,输入MySQL用户密码。

要终止SSH隧道,请在运行ssh客户端的控制台中键入CTRL+C。

参考:安装与使用Mole在Linux CLI上创建SSH隧道的方法。

在Windows上创建SSH隧道

Windows用户首先需要下载并安装SSH客户端程序,最受欢迎的Windows SSH客户端是PuTTY,参考在Ubuntu、Debian、Fedora、Arch Linux系统中安装Putty的方法。

执行以下步骤以使用PuTTY创建到MySQL服务器的SSH隧道:

1、启动Putty,然后在主机名(或IP地址)字段中输入服务器的IP地址:

2、在“Connection”菜单下,展开“ SSH”,然后选择“Tunnels”,在“Source Port”字段中输入3306,在“Destination”字段中输入127.0.0.1:3306:

单击添加按钮添加隧道。

3、返回“Session”页面以保存设置,以便你无需再次输入设置。

在“Saved Session”字段中输入会话名称,然后单击“Save”按钮:

4、选择已保存的会话,然后单击“Open”按钮登录到远程服务器:

将显示一个新窗口,要求你输入用户名和密码,输入用户名和密码后,将登录到服务器,并创建SSH隧道。

设置公共密钥身份验证将使你无需输入密码即可连接到服务器。

现在,你可以使用本地MySQL客户端连接到远程数据库。

例如,如果你使用的是HeidiSQL,请在“Hostname / IP”字段中输入127.0.0.1,并在“User”和“Password”字段中输入MySQL用户和密码:

结论

MySQL是最流行的开源数据库服务器,仅在localhost上侦听传入的连接,创建SSH隧道可以使你从本地客户端安全地连接到远程MySQL服务器。

TAG:

除非注明,文章均由 Linux系统学习 整理发布,欢迎转载。如有版权争议,请联系删除。

文章评论

留言与评论(共有 0 条评论)

验证码:

linux 建立ssh隧道,在Linux、Windows、macOS上创建SSH隧道并通过SSH隧道连接到MySQL相关推荐

  1. Windows PC上创建大数据职业技能竞赛实验环境之四--客户端环境的搭建

    Hadoop集群访问客户端 X window Jet brain Idea和客户端开发环境 以上环境我们将在WSL的Ubuntu docker容器中实现,其中对X和Idea的访问,通过Windows ...

  2. shell bash脚本_如何在Windows 10上创建和运行Bash Shell脚本

    shell bash脚本 With the arrival of Windows 10's Bash shell, you can now create and run Bash shell scri ...

  3. 如何在Windows 10上创建和设置虚拟硬盘

    在Windows 10上,虚拟硬盘文件是一个以.vhdx或者.vhd扩展名结尾的文件,其功能类似于物理硬盘. 虚拟硬盘可以用于存储包括文档.图片.视频等各种类型的文件,亦可用于存储启动文件或者用于安装 ...

  4. linux执行windows创建的脚本,如何在Windows 10上创建和运行Bash Shell脚本 | MOS86

    随着Windows 10的到来您还可以将Bash命令合并到Windows批处理文件或PowerShell脚本中. 如果你知道你是什么Windows和UNIX使用不同的行尾字符,Windows文件系统可 ...

  5. win集成linux开发环境,在 Windows 10 上创建开发环境 | Microsoft Docs

    在 Windows 10 上设置开发环境Set up your development environment on Windows 10 07/24/2020 本文内容 本指南将帮助你开始安装和设置 ...

  6. 在macOS上用supervisor构建稳定的SSH转发

    之前一直使用SSH指定端口转发请求,一直能用,但是很烦.因为每次都要输入密码之类的,而且经常会断开,断开后又输密码,神烦.前几日决心解决这个问题,作为一名Python开发者,首先想到的就是superv ...

  7. yocto编译linux,好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    导读 本文主要聚焦在如何使用 Yocto 在 Ubuntu 上创建一个最小化的 Linux 发行版.Yocto 项目在嵌入式 Linux 的世界非常著名,这是因为它用起来非常灵活.方便.Yocto 的 ...

  8. Windows PC上创建大数据职业技能竞赛实验环境之五--hadoop、hive和spark编程

    前述,我们在Windows WSL上,通过Docker容器技术实现了Hadoop集群环境,现在看看利用现有集群环境进行编程开发. 1 设置容器开启时自运行SSH服务 参照docker中安装Ubuntu ...

  9. 如何在MacOS上创建第一个iOS Flutter应用

    文章目录 1.安装Flutter 2.设置iOS模拟器 3.在Flutter中创建一个Hello World应用 Google于2018年12月4日发布了Flutter 1.0,它是一款功能强大的工具 ...

  10. 用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序

    原文:Your First ASP.NET Core Application on a Mac Using Visual Studio Code 作者:Daniel Roth.Steve Smith  ...

最新文章

  1. java 客户端发起http请求2
  2. 在CGD中快速实现多线程的并发控制
  3. linux下运行时链接库的路径顺序
  4. Java中判断数组是否包含某值
  5. 【2018.4.21】模拟赛之二-ssl2403 蜡烛【贪心】
  6. AD 文档信息设置和制作模板
  7. ML.NET 1.3.1 发布,.NET 跨平台机器学习框架
  8. 我的世界服务器经常未响应是怎么回事,【电子世界】电脑经常出现“未响应”,该怎么办?...
  9. 【重点递归】剑指offer——面试题18:树的子结构
  10. Windows Phone 7将加入复制粘贴功能
  11. CTRL+ALT快捷键汇总
  12. unity旧动画系统之animationClip/animationEvent/animationCurve
  13. linux 使用秘钥认证,linux 密钥验证登录
  14. C#编写刷机工具exe替代adb敲命令行操作
  15. php元换成万元,数字单位换算(元换算成万元换算器)
  16. 无法同步谷歌日历_这场科技发布会上,谷歌究竟更新了啥?
  17. JBOSS未授权漏洞详细复现
  18. html5和css基础知识
  19. PLSQL代码调试Oracle dbms_utility返回错误
  20. 使用 Convex 进行状态管理的指南

热门文章

  1. 武汉大学计算机学院 考研英语,武汉大学计算机学院简介
  2. M-LSD 面向轻量化实时线段检测
  3. Servlet实现一个登陆界面
  4. Dell XPS BIOS强制降级方法
  5. 服务器装无线上网卡,dlink无线上网卡怎么安装和设置
  6. BZOJ 1406: [AHOI2007]密码箱 数论
  7. 东芝服务器报错误代码维修,实战维修 东芝复印机故障维修详解
  8. 【Tera Term】黑猫带你学TTL脚本——嵌入式开发中串口自动化神技能
  9. ITIL、COBIT、CMMi、ISO、17799框架大揭秘
  10. 进化计算(八)——MOEA/D算法详解Ⅱ