我的编程空间,编程开发者的网络收藏夹
学习永远不晚

通过SSH通道来访问MySQL

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

通过SSH通道来访问MySQL

 许多时候当要使用Mysql时,会遇到如下情况:

信息比较重要,希望通信被加密。
2. 一些端口,比如3306端口,被路由器禁用。

对第一个问题的一个比较直接的解决办法就是更改mysql的代码,或者是使用一些证书,不过这种办法显然不是很简单。

这里要介绍另外一种方法,就是利用SSH通道来连接远程的Mysql,方法相当简单。

一 建立SSH通道

只需要在本地键入如下命令:

ssh -fNg -L 3307:127.0.0.1:3306 myuser@remotehost.com

The command tells ssh to log in to remotehost.com as myuser, go into the background (-f) and not execute any remote command (-N), and set up port-forwarding (-L localport:localhost:remoteport ). In this case, we forward port 3307 on localhost to port 3306 on remotehost.com.

二 连接Mysql

现在,你就可以通过本地连接远程的数据库了,就像访问本地的数据库一样。

mysql -h 127.0.0.1 -P 3307 -u dbuser -p db

The command tells the local MySQL client to connect to localhost port 3307 (which is forwarded via ssh to remotehost.com:3306). The exchange of data between client and server is now sent over the encrypted ssh connection.

或者用Mysql Query Brower来访问Client的3307端口。

类似的,用PHP访问:

$smysql = mysql_connect( "127.0.0.1:3307", "dbuser", "PASS" );
mysql_select_db( "db", $smysql );
?>

Making It A Daemon

A quick and dirty way to make sure the connection runs on startup and respawns on failure is to add it to /etc/inittab and have the init process (the, uh, kernel) keep it going.

Add the following to /etc/inittab on each client:

sm:345:respawn:/usr/bin/ssh -Ng -L 3307:127.0.0.1:3306 myuser@remotehost.com

And that should be all you need to do. Send init the HUP signal ( kill -HUP 1 ) to make it reload the configuration. To turn it off, comment out the line and HUP init again.

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

通过SSH通道来访问MySQL

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

通过SSH通道来访问MySQL

许多时候当要使用Mysql时,会遇到如下情况:1. 信息比较重要,希望通信被加密。2. 一些端口,比如3306端口,被路由器禁用。对第一个问题的一个比较直接的解决办法就是更改mysql的代码,或者是使用一些证书,不过这种办法显然不是很简单。这里要介绍另外一种方
2021-05-17

linux如何通过SSH通道rsync

通过SSH通道rsync是一种安全可靠的数据传输方式,可用于在两台计算机之间同步文件和目录。在目标计算机上设置无密码登录并建立SSH通道后,即可使用rsync命令同步数据。rsync提供了多种选项,例如归档、详细模式和压缩等,以自定义传输行为。安全注意事项包括保护SSH密钥对、设置目标计算机安全并限制对rsync命令的访问。
linux如何通过SSH通道rsync
2024-04-02

如何利用SSH通道来连接远程的Mysql

199cloud艾娜分享:如何利用SSH通道来连接远程的Mysql如下所示:一、建立SSH通道只需要在本地键入如下命令:1ssh -fNg -L 3307:127.0.0.1:3306 myuser@remotehost.com
2023-06-01

通过对通道进行多次写入来理解 golang 阻塞通道行为

php小编柚子在这篇文章中将向大家介绍如何通过对通道进行多次写入来理解 golang 阻塞通道的行为。在golang中,通道是一种用于在协程之间传递数据的重要机制。当通道已满时,写入操作会被阻塞,直到通道有空闲位置。我们将通过一个简单的示例
通过对通道进行多次写入来理解 golang 阻塞通道行为
2024-02-09

我们如何通过MySQL存储过程访问表?

我们可以从 MySQL 存储过程访问一个或所有表。以下是一个示例,其中我们创建了一个存储过程,它将接受表的名称作为参数,并在调用它后,将生成包含表中所有详细信息的结果集。示例mysql> Delimiter //mysql> Create
2023-10-22

PostgreSQL通过oracle_fdw访问Oracle数据

背景:同一个项目两个系统分别使用了PG库和Oracle库,Oracle是生产库,数据动态更新,现在在PG库中需要实时的获取到更新的数据进行统计,基于此种方式,可以通过ETL的工具实现,但是需要定期进行维护等,于是想着是否可以通过类似于Oracle数据库DBLI
PostgreSQL通过oracle_fdw访问Oracle数据
2016-10-07

Axis客户端通过HTTPS访问webservice

对于通过Axis client访问WS时,如果协议为https则需要进行证书认证。目前有两种方式可以进行访问1、根据服务证书成功客户端证书,然后在调用WS前写入证书以便java能进行校验。 System.setProperty("j
2023-06-03

通过云服务器访问外网

如果您要通过云服务器访问外网,那么您需要使用相应的网络协议和数据加密技术来确保传输的数据安全和隐私性。以下是几种可以实现此功能的技术方法:VPN隧道:VPN隧道是一种将云服务器与您的互联网连接起来的方法。用户可以使用VPN隧道技术在公共网络上连接他们的云服务器,以便访问互联网。代理服务器:代理服务器是一种将一个网站或应用程序与其用户端相互通讯的服务器。用户可以使用代理服务器来访问他们的用
2023-10-26

编程热搜

目录