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

1. 信息比较重要,希望通信被加密。

2. 一些端口,比如3306端口,被路由器禁用。

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

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

一 建立SSH通道

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

ssh -fNg -L 3307:127.0.0.1:3306myuser@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.

linux mysql ssh通道_通过SSH通道来访问MySQL相关推荐

  1. mye连接mysql数据库_MySQL_如何在Java程序中访问mysql数据库中的数据并进行简单的操作,在上篇文章给大家介绍了Myeclip - phpStudy...

    如何在Java程序中访问mysql数据库中的数据并进行简单的操作 在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据 ...

  2. 远程mysql用ssh连接_使用SSH密钥连接到远程MySQL服务器

    远程mysql用ssh连接 In this article, it will be described how to connect to remote MySQL Server on Linux O ...

  3. arm9重启ssh服务_部署ssh使用rsa登录配置

    什么是ssh? ssh专为远程登录会话和其他网络服务提供安全性的协议,利用ssh协议可以有效的防止远程管理过程中的信息泄露问题. 使用ras公钥登录linux 操作环境 本地服务器:win10 远程服 ...

  4. ubuntu ssh密钥_生成SSH密钥以在Ubuntu中进行无密码登录

    ubuntu ssh密钥 SSH (Secure Shell) is a cryptographic network protocol which is used for establishing s ...

  5. linux配置usb主从_技术 | 手把手教你搭建MySQL主从架构

    黑马程序员 微信号:heiniu526 传智播客旗下互联网资讯,学习资源免费分享平台 1 什么是MySQL的复制 MySQL的主从复制可以实现将数据从一台数据库服务器(master)复制到一台或多台数 ...

  6. mysql 最小配置_如何配置全世界最小的 MySQL 服务器

    配置全世界最小的 MySQL 服务器--如何在一块 Intel Edison 为控制板上安装一个 MySQL 服务器. 介绍 在我最近的一篇博文中,物联网,消息以及 MySQL,我展示了如果Parti ...

  7. docker容器mysql头文件_在Docker容器中使用MySQL数据库

    开发过程中经常需要安装.调试mysql数据库,还需要在各种操作系上安装包依赖,实在是繁琐,因此就研究了一下如何在docker上运行一个mysql镜像,省却了我安装.找依赖的问题. 注:本文所有内容均在 ...

  8. 负载均衡mysql的使用_使用负载均衡集群集化 MySQL - Azure Virtual Machines | Microsoft Docs...

    使用负载均衡的集来群集化 Linux 上的 MySQL 04/14/2015 本文内容 重要 经典 VM 将于 2023 年 3 月 1 日停用. 如果从 ASM 使用 IaaS 资源,请在 2023 ...

  9. linux python连接oracle数据库_Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法...

    本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL.Oracle.SQL Server数据库. 其中包括以下几个软件的安装及配置: ...

  10. mysql死锁语句_记一次神奇的Mysql死锁排查

    背景 说起Mysql死锁,之前写过一次有关Mysql加锁的基本介绍,对于一些基本的Mysql锁或者死锁都有一个简单的认识,可以看下这篇文章为什么开发人员需要了解数据库锁.有了上面的经验之后,本以为对于 ...

最新文章

  1. Netsparker介绍
  2. PyTorch基础(11)----- torch.sum()方法
  3. Django2.2-LookupError No installed app with label admin
  4. android webview url scheme,Android Webview ERR_UNKNOWN_URL_SCHEME错误
  5. ubuntu18.04下安装grafana6和简单使用
  6. LeetCode 2146. 价格范围内最高排名的 K 样物品(BFS)
  7. 今天会议的召开,和你有关系吗?
  8. HelloDjango 第 06 篇:博客从“裸奔”到“有皮肤”
  9. .NET反编译之manager,base.AutoScaleMode修复
  10. 测试硬件工程师常用英语单词
  11. 安卓电子书格式_kindle如何导入电子书
  12. MySQL 性能优化参数分析
  13. 启动计算机按住del不放,电脑开机需要按del进入系统怎么办
  14. (转)webpack简介
  15. mac邮箱无法验证账户名和密码问题
  16. 一个工科土博士生---最近的状态和想法
  17. 逻辑回归代价函数的推导过程
  18. 简易的MySQL主从复制
  19. 一个简单的百度换肤效果
  20. word2vec中数学原理详解以及原理思考

热门文章

  1. Mybatis与Spring整合示例
  2. 13_新闻客户端界面搭建
  3. JavaScript:学习笔记(3)——正则表达式的应用
  4. 实验一缓冲区溢出漏洞实验
  5. 非阻塞同步算法实战(二)-BoundlessCyclicBarrier
  6. .NET Framework是什么
  7. 使用zabbix如何自动清理30天前的数据
  8. Zabbix 配置钉钉告警功能
  9. MySQL 客户端工具
  10. Eclipse中关闭不需要的插件