mysql ssh通道_详解如何通过SSH通道来访问MySQL
原标题:详解如何通过SSH通道来访问MySQL
许多时候当要使用Mysql时,会遇到如下情况:
1. 信息比较重要,希望通信被加密。
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.返回搜狐,查看更多
责任编辑:
mysql ssh通道_详解如何通过SSH通道来访问MySQL相关推荐
- qt4.7 mysql 6.3 版本_详解Qt 4.7编译和访问Mysql驱动
Qt4.7编译和访问Mysql驱动是本文要介绍的内容,不多说,我们来看内容.今天摸索了一上午,终于用qt连上mysql了 1.安装一个mysql5.0以上版本*** 要求:(1)安装路径不要有空格和点 ...
- mysql sql组合_详解mysql 组合查询
使用UNION 多数SQL查询都只包含一个或多个表中返回数据的单条SELECT语句.MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回.这些组合查询通常称为并(uni ...
- mysql 数据分组_详解MySQL 数据分组
创建分组 分组是在select语句中的group by 子句中建立的. 例: select vend_id, count(*) as num_prods from products group by ...
- java mysql 自动提交_详解MySQL与Spring的自动提交(autocommit)
1 MySQL的autocommit设置 MySQL默认是开启自动提交的,即每一条DML(增删改)语句都会被作为一个单独的事务进行隐式提交.如果修改为关闭状态,则执行DML语句之后要手动提交 才能生效 ...
- mysql 日期比较_详解Mysql中日期比较大小的方法
假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: 代码如下 select * from product where add_time = '2 ...
- mysql 事务 for update,mysql事务锁_详解mysql 锁表 for update
摘要 腾兴网为您分享:详解mysql 锁表 for update,智慧农业,真还赚,悦读小说,学习帮等软件知识,以及电池管家,三国群英传3,userland,运满满货主版,王者荣耀,简单3d动画,嘉丽 ...
- mysql重做日志_详解MySQL 重做日志(redo log)与回滚日志(undo logo)
前言: 前面文章讲述了 MySQL 系统中常见的几种日志,其实还有事务相关日志 redo log 和 undo log 没有介绍.相对于其他几种日志而言, redo log 和 undo log 是更 ...
- navicat for mysql命令行_详解 Navicat for MySQL 命令工具
Navicat for MySQL是一套管理和开发MySQL或MariaDB的理想解决方案,支持单一程序,可同时连接到MySQL和MariaDB.这个功能齐备的前端软件为数据库管理.开发和维护提供了直 ...
- mysql 魔术设置_详解php魔术方法(Magic methods)的使用方法
PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用. 魔术方法包括: __construct(),类的构造函数 __destruct(),类的析构函数 __cal ...
最新文章
- SCVMM2012 SP1 之虚拟机模板的创建
- 模块计算机型x86yu,ldd3学习之九:与硬件通信
- C语言实现字符串匹配的Rabin-Karp算法(附完整源码)
- 理解阻塞到底是什么回事
- 为什么我要选择erlang+go进行server架构(2)
- c++ list容器获取第n给元素_Java总结之容器家族--Collection*
- 远程桌面服务器无法复制粘贴了怎么解决
- visio 2003 for enterprice architects 不需要安装VS2005,直接安装的方法
- 使用Matlab计算大地测量学中的子午线弧长
- 电磁场与电磁波实验:仿真计算介质板的电磁参数
- Atitit..组件化事件化的编程模型--(2)---------Web datagridview 服务器端控件的实现原理and总结
- 开机黑屏显示html,开机黑屏显示“This Product is covered by”解决方法
- Python中使用seek方法来移动文件指针的位置
- linux系统卸载git,linux卸载gitlab
- linux 设置深信服easyconnect 代理
- PDF阅读软件哪个好用?思路提供
- 获得淘系商品详情展示
- C++之详解coredump
- php数组和链表的区别,什么是链表?链表与数组的区别?
- 用python实现生成验证码图片
热门文章
- Apache Spark 内存管理详解
- 【转】Android实例剖析笔记(二)--用实例讲解Andriod的开发过程,以NotesList为实例介绍Android的菜单机制...
- [常微分方程]Lecture 2: 欧拉数值方法及推广
- Linux系统编程(18)——正则表达式实用举例
- 使用用WCF中的双工(Duplex)模式将广告图片推送到每个Winform客户端机子上
- (TOJ1248)Encoding
- DirectX SDK (June 2010)安装遇到Error Code S1023
- C#将DBGrid中数据导出为Excel的很小很强大的代码
- 全面分析男性护肤三大误区 - 生活至上,美容至尚!
- Nginx 实现封杀恶意访问