Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Tunel Node.js ssh2 utrzymuje się przy życiu i wykonuje zapytania mysql

W przypadku bezpośredniego korzystania ze sterownika bazy danych, jeśli używasz mysql2 zamiast mysql , można w rzeczywistości przekazać strumień przekazany przez ssh jako połączenie bazowe, które ma być używane przez sterownik bazy danych. Umożliwi to pominięcie konieczności tworzenia dodatkowego serwera, który nasłuchuje tunelowanych połączeń przychodzących. Możesz więc zamiast tego zrobić coś takiego:

var mysql = require('mysql2');
var Client = require('ssh2').Client;

var ssh = new Client();
ssh.on('ready', function() {
  ssh.forwardOut(
    '127.0.0.1',
    12345,
    '127.0.0.1',
    3306,
    function (err, stream) {
      if (err) throw err;
      var sql = mysql.createConnection({
        user: 'foo',
        database: 'test',
        stream: stream // <--- this is the important part
      });
      // use sql connection as usual
  });
}).connect({
  // ssh connection config ...
});



  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:Zwróć tylko ostatnią wiadomość w tabeli wiadomości płaskich/konwersacji

  2. problem z połączeniem ze zdalną bazą danych mysql za pomocą php

  3. Indeksowanie pełnotekstowe w MyISAM, indeksowanie pojedynczej kolumny a indeksowanie wielu kolumn

  4. Funkcje zaokrąglania MySQL

  5. Anulować oczekujące żądania AJAX w aplikacji PHP?