sql >> Database >  >> RDS >> Mysql

Node.js ssh2-tunnel in leven houden en mysql-query's uitvoeren

In het geval van rechtstreeks gebruik van het databasestuurprogramma, als u mysql2 gebruikt in plaats van mysql , kunt u de door ssh doorgestuurde stream daadwerkelijk doorgeven als de onderliggende verbinding die door het databasestuurprogramma moet worden gebruikt. Hierdoor hoeft u geen extra server te maken die luistert naar inkomende verbindingen die moeten worden getunneld. Dus je kunt in plaats daarvan zoiets als dit doen:

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. Grote database opzetten in MySQL voor analyse in R

  2. Tel het aantal rijen dat dezelfde waarde bevat

  3. UPDATE Dezelfde rij na UPDATE in Trigger

  4. Het totale aantal sloten overschrijdt de grootte van de slottafel