开发者社区> 科技小能手> 正文

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


执行完后查看本地连接情况 
[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


本文转自 holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/518499


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23581 0
MyEclipse 2014GA 新建 Web Project 并配置 SSH
基本软件配置:     1)MyEclipse 2014GA(JDK:内置 1.7.0.u45;SSH:内置 Struts2.1、Spring3.1 和 Hibernate4.1) 2)apache-tomcat-8.
929 0
SSH配置—Linux下实现免密码登录
首先,假设我们有两台服务器,服务器名称分别是 master 和 slave1,我们现在需要做的就是在服务器 master 上面登录 服务器 slave1 不需要输入密码就可以登录成功,如下图所示。   下面开始我们的配置步骤 1、服务器 master 上生成密钥 可以通过使用 ssh-keygen 命令来生成,我们可以先使用 man 命令或者是 help 命令查看具体需要哪些参数以及具体信息。
1189 0
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载