mysql+ssh 配置(轉載)

來源:互聯網
上載者:User

標籤:特權   nec   設定許可權   錯誤   under   用戶端   auth   設定   png   

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 [email protected] -L 3388:192.168.189.139:3306

參數解釋

-C    使用壓縮功能,是可選的,加快速度。 
-P    用一個非特權連接埠進行出去的串連。 
-f    一旦SSH完成認證並建立port forwarding,則轉入後台運行。 
-N    不執行遠程命令。該參數在只開啟轉送連接埠時很有用(V2版本SSH支援)

這裡的[email protected] 是登陸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 用的。


執行完後查看本地串連情況 
[[email protected] ~]# 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串連情況 
[[email protected] ~]# 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伺服器
[[email protected] ~]# 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 [email protected] -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 配置(轉載)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.