C 通過SSH連線MySql

2022-05-01 21:45:13 字數 1294 閱讀 6091

出於安全考慮,有的時候資料庫伺服器只能通過ssh訪問,比如mysql服務裝在了伺服器a上,並且a機器只允許b機器才能訪問,而部署環境可能在c機器上,這時候就要c伺服器通過b伺服器連線a伺服器,這時候就需要用到ssh方式連線,需要ssh.net類庫:

**如下:

using

mysql.data.mysqlclient;

using

renci.sshnet;

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.linq;

using

system.text;

using

system.threading.tasks;

using

system.windows.forms;

namespace

sshmysql

public

void

sshconnectmysql()

var portfwdl = new forwardedportlocal(sqlipa, sqlport, sqlhost, sqlport); //

對映到本地埠

client.addforwardedport(portfwdl);

portfwdl.start();

if (!client.isconnected)

mysqlconnection conn = new

mysqlconnection(sqlconn);

mysqldataadapter mydataadapter = new

mysqldataadapter();

mydataadapter.selectcommand = new

mysqlcommand(sqlselect, conn);

try

catch

(exception ee)

finally

client.disconnect();

}catch

(exception ex)}}

}}

注:如果出現錯誤可以把本地(開發機器)上的mysql服務停止掉。

需要的dll:sshdll.rar

Python通過ssh連線MySQL

機器a 通過機器b 登入機器c的mysql import pymysql from sshtunnel import sshtunnelforwarder server sshtunnelforwarder ssh address or host 機器b的ip 22 指定ssh登入的跳轉機的addr...

C 通過SSH隧道的方式連線遠端MySql 資料庫

出於安全考慮,我們的伺服器不會對外開放3306埠,這時候就需要用到ssh隧道的方式連線,需要ssh.net類庫 如下 using mysql.data.mysqlclient using renci.sshnet using system using system.collections.gener...

JDBC通過SSH遠端連線Mysql資料庫

test public void sshmysqltest throws exception catch exception e string driverclass null string url null string user null string password null 第一步 準備連...