Mysql
 sql >> база данни >  >> RDS >> Mysql

SSH тунелиране на MySQL връзка с помощта на C#

Трябва да свържете MySQL към обвързания порт на препращането. т.е. към 2222.

Или още по-семантично правилно, използвайте portFwld.BoundPort . Еквивалентно използвайте portFwld.BoundHost .

DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);

Също така имайте предвид, че има по-голям смисъл да се отнася към MySQL хоста като "localhost", а не като "example.com", тъй като името на хоста се разрешава от страната на сървъра. А когато сте от страната на сървъра, обикновено няма да се свържете с „example.com“, а с „localhost“.

var portFwld = new ForwardedPortLocal(IPAddress.Loopback.ToString(), 2222, "localhost", 3306); 

И разбира се, трябва да поддържате SSH сесията отворена, докато имате нужда от тунела. Така че трябва да се свържете с DB в рамките на using блокиране:

using (var client = new SshClient(connectionInfo))
{
    ...
    client.Connect();
    ...
    portFwld.Start();
    ... 
    DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъквания в MySQL Workbench

  2. Как да настроите пътя към класа на драйвера jdbc

  3. mysql грешка 1364 Полето няма стойности по подразбиране

  4. Как да експортирате и импортирате съществуващ потребител (с неговите привилегии!)

  5. Извличане на единичен ред от таблица за присъединяване