原标题:详解如何通过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相关推荐

  1. qt4.7 mysql 6.3 版本_详解Qt 4.7编译和访问Mysql驱动

    Qt4.7编译和访问Mysql驱动是本文要介绍的内容,不多说,我们来看内容.今天摸索了一上午,终于用qt连上mysql了 1.安装一个mysql5.0以上版本*** 要求:(1)安装路径不要有空格和点 ...

  2. mysql sql组合_详解mysql 组合查询

    使用UNION 多数SQL查询都只包含一个或多个表中返回数据的单条SELECT语句.MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回.这些组合查询通常称为并(uni ...

  3. mysql 数据分组_详解MySQL 数据分组

    创建分组 分组是在select语句中的group by 子句中建立的. 例: select vend_id, count(*) as num_prods from products group by ...

  4. java mysql 自动提交_详解MySQL与Spring的自动提交(autocommit)

    1 MySQL的autocommit设置 MySQL默认是开启自动提交的,即每一条DML(增删改)语句都会被作为一个单独的事务进行隐式提交.如果修改为关闭状态,则执行DML语句之后要手动提交 才能生效 ...

  5. mysql 日期比较_详解Mysql中日期比较大小的方法

    假如有个表product有个字段add_time,它的数据类型为datetime,有人可能会这样写sql: 代码如下 select * from product where add_time = '2 ...

  6. mysql 事务 for update,mysql事务锁_详解mysql 锁表 for update

    摘要 腾兴网为您分享:详解mysql 锁表 for update,智慧农业,真还赚,悦读小说,学习帮等软件知识,以及电池管家,三国群英传3,userland,运满满货主版,王者荣耀,简单3d动画,嘉丽 ...

  7. mysql重做日志_详解MySQL 重做日志(redo log)与回滚日志(undo logo)

    前言: 前面文章讲述了 MySQL 系统中常见的几种日志,其实还有事务相关日志 redo log 和 undo log 没有介绍.相对于其他几种日志而言, redo log 和 undo log 是更 ...

  8. navicat for mysql命令行_详解 Navicat for MySQL 命令工具

    Navicat for MySQL是一套管理和开发MySQL或MariaDB的理想解决方案,支持单一程序,可同时连接到MySQL和MariaDB.这个功能齐备的前端软件为数据库管理.开发和维护提供了直 ...

  9. mysql 魔术设置_详解php魔术方法(Magic methods)的使用方法

    PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用. 魔术方法包括: __construct(),类的构造函数 __destruct(),类的析构函数 __cal ...

最新文章

  1. 32 多线程同步值Semaphore(信号量)
  2. 【计算理论】计算理论总结 ( P 、NP 、NPC 总结 ) ★★
  3. CSS3构建左侧导航栏
  4. 变频器按启动没反应_起重机软启动柜晶闸管损坏维修几大故障
  5. Go语言并发编程简介
  6. SQLGrammarException :could not execute query a.user not exists解决
  7. 国内身份证号码的正则验证
  8. 3DMax制作下雨场景
  9. UiPath Excel内容去重操作(21.10现代设计体验)
  10. canvas圆形、半圆形进度条
  11. python拟合泊松分布_Python Numpy泊松分布
  12. 南锣鼓巷大变样,最新逛吃全攻略收好!
  13. 淘宝至强cpu为什么那么便宜
  14. Atcoder ARC093F : Dark Horse
  15. 制作可爱的小黄人插图
  16. 64位 window 在notepad++中添加HexEditor工具
  17. 原生javascript实现星级评价功能
  18. 计算机通识必修课程学什么内容,计算机公共必修课《大学计算机基础》课程教学大纲...
  19. jquery 添加插入元素技巧前面和后面
  20. PS磨皮神器来了,一键修出美美的自己! Portraiture(附带安装教程)

热门文章

  1. 两分钟学会Android平台NDK编程(无须Eclipse和cygwin,可使用命令行打包多个so)
  2. C++的四种cast操作符的区别--类型转换
  3. 二进制转十进制 十进制转二进制
  4. iOS中 点击按钮无响应
  5. 让孩子从小自信的28个方法
  6. C#实现重新启动计算机
  7. Python办公自动化(六)|自动更新表格,
  8. Dell台式机重装win 10系统之后开机报错
  9. Mysql数据库中,大小写区分
  10. Postgre中的 select for update 和 select for update nowait