mysql+ssh 配置(转载)
Mysql+ssh配置
一、Linux平台间mysql+ssh配置
本机地址为:192.168.189.133
mysql服务器地址为:192.168.189.139
linux命令行下使用ssh命令建立SSH隧道
本机上生成ssh public key并复制给Mysql服务器
利用 ssh-keygen 命令,生成本机id_rsa.pub文件
# ssh-keygen 连续回车生成id_rsa.pub 文件
将id_rsa.pub文件复制到mysql服务器中
# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.189.139
在本机上挖隧道
利用ssh命令在本机开个3388的端口,这个端口为隧道的入口端口,通过在本机连接这个端口来达到连接mysql服务器3306端口的目的。
使用命令如下:
ssh -NCPf root@192.168.189.139 -L 3388:192.168.189.139:3306
参数解释
-C 使用压缩功能,是可选的,加快速度。
-P 用一个非特权端口进行出去的连接。
-f 一旦SSH完成认证并建立port forwarding,则转入后台运行。
-N 不执行远程命令。该参数在只打开转发端口时很有用(V2版本SSH支持)
这里的root@192.168.189.139 是登陆mysql服务器的SSH用户名和IP地址-L 3388:192.168.189.139:3306
这个参数的意思是说在本机开放3388端口到192.168.189.139:3306端口的映射,也就是说隧道的入口为3388出口为mysql服务器的3306
如果出现错误:
错误是:The authenticity of host 192.168.0.xxx can't be established.
执行ssh -o StrictHostKeyChecking=no 192.168.0.xxx 就OK
ps:这个好像是用来避免 输入第一次 执行ssh 要求收入yes/no 用的。
执行完后查看本地连接情况
[root@localhost ~]# netstat -tulnp | grep 3388
tcp 0 0 127.0.0.1:3388 0.0.0.0:* LISTEN 3076/ssh
tcp 0 0 ::1:3388 :::* LISTEN 3076/ssh
查看本机与mysql服务器的ssh连接情况
[root@localhost ~]# netstat -an | grep 192.168.189.139
tcp 0 0 192.168.189.133:43489 192.168.189.139:22 ESTABLISHED
通过这两条命令可知,执行完命令之后,本机与mysql服务器就建立起了ssh连接,且开放了3388端口。
需要在Mysql服务器上为本地服务器赋权(权限自己定)
GRANT SELECT ON *.* TO 'fc'@'192.168.189.133' IDENTIFIED BY '111111';
通过隧道在本地连接MySQL服务器
[root@localhost ~]# mysql -ufc -P 3388 -h 127.0.0.1 -p111111
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 30
Server version: 5.1.48-log Source distribution
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
测试成功
由于服务器重启隧道会失效
这项开通本地隧道需要加入/etc/rc.d/rc.local中
ssh -NCPf root@192.168.189.139 -L 3388:192.168.189.139:3306
二、windows平台的客户端连接linux上的Mysql服务器
具体设置参考http://holy2010.blog.51cto.com/1086044/518431
用navicat for myql 连接Linux上的mysql
方法很简单只要在这个软件设置ssh这个功能就可以
general选项中填写本地数据库的信息
SSH选项中Use ssh Tunnel 填写远程Linux的账户和密码就可以,ssh的端口 22
Test connection
本文出自 “Holy” 博客,请务必保留此出处http://holy2010.blog.51cto.com/1086044/518499
--------------------------------------------------------------------------------------------------------
个人总结:
主机:mysql数据库
副机:建立ssh隧道
本机:navicat for mysql 访问主机数据库
1.主机上登录mysql设置权限,设置副机ip的权限(参考:http://www.cnblogs.com/hfdp/p/6088288.html)
2.副机上建ssh隧道到主机
3.本地访问:
提交副机登录主机的数据库地址端口账户密码等,和登录副机的ip账户密码(端口为22,副机到主机的ssh隧道端口才是3388)


mysql+ssh 配置(转载)的更多相关文章
- windows 安装 Apache、php、mysql及其配置(转载)
此文包括的注意内容:软件版本及下载地址Apache2.4的配置和安装php7.0的配置mysql5.5的安装常见问题及解决方法1.软件版本Windows server 2008 r2+ 64位Apac ...
- apache+php+mysql的配置(转载)
windows: 按http://jingyan.baidu.com/article/fcb5aff797ec41edaa4a71c4.html的安装 按http://www.jb51.net/art ...
- 在Centos下安装httpd、php、Mysql并配置(转载)
转自:http://club.jledu.gov.cn/?action-viewspace-itemid-299020 1.安装Apahce, PHP, Mysql, 以及php连接mysql库组件. ...
- MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码) - 转载
MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码) MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以设置UTF-8为例来说明. 需 ...
- 腾讯云ubuntu安装Mysql并配置远程访问
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6378914.html 一:修改SSH配置 输入 su 进入root模式.修改ssh配置: sudo vi /e ...
- 二:mysql安装配置、主从复制配置详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8213723.html 邮箱:moyi@moyib ...
- 【转】MySQL安全配置介绍
一.前言 很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话.因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪些权限. 现在很多mysql用着root账户在 ...
- git在eclipse中的配置 转载
git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...
- mysql安装配置、主从复制配置详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8213723.html 邮箱:moyi@moyib ...
随机推荐
- bzoj violet系列 (2708~2725)
cbh大爷说:写博客不能弃坑. orz cbh 那我就来更新博客了. violet这个系列的题好神啊……出题人好劲啊…… ……怎么最近都在理性愉悦啊…… 另外bzoj400题纪念~ 2708: [Vi ...
- http://blog.csdn.net/java2000_wl/article/details/8627874
http://blog.csdn.net/java2000_wl/article/details/8627874
- Python flask @app.route
转载自 http://python.jobbole.com/80956/ 下面是Flask主页给我们的第一个例子,我们现在就由它入手,深入理解“@app.route()”是如何工作的. ...
- Macbook 的 print screen 是什么
- linux下php-mysql拓展安装
今天遇到一个奇怪的问题: 在服务器A上部署应用,在服务器B上部署数据库和缓存. 服务器A:apache2.2,php5.3 服务器B:mysql5.5,redis2.4 问题现象: 本地远程连接服务器 ...
- 关于.NET知识体系结构图总结
转载:关于.NET知识体系结构图总结-零度http://www.xcode.me/book/net-framework-maps 最近对.NET框架方面的知识进行了概要的总结,整理了一些知识体系结构图 ...
- 关于for循环------swift3.0
在程序开发当中,for循环使用的频率无疑是最高的.常用的swift循环是递增式遍历.当然各种循环,swift都能办到.但其大多采用关键字形式实现,大部分开发者更喜欢直接使用C式循环代码.在swift3 ...
- 【转】代码中特殊的注释技术——TODO、FIXME和XXX的用处
(转自:http://blog.csdn.net/reille/article/details/7161942) 作者:reille 本博客网址:http://blog.csdn.net/reille ...
- python之线程进程协成
线程与进程 什么是线程 线程是进程一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,但是它可与同属一个线程的 ...
- Xcode8更新约束
Xcode升级之后就会发现约束设置好,想更新一下约束,看看约束是不是刚刚好,习惯性的去点右下角的更新约束的结果却发现没有更新约束的这一项了,好尴尬. 后来发现原来在Xcode8的约束更新换了一个地方, ...