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

Node.js ssh2 тунел поддържа жив и изпълнява mysql заявки

В случай на директно използване на драйвера на базата данни, ако използвате mysql2 вместо mysql , всъщност можете да предадете ssh препратения поток като основна връзка, която да се използва от драйвера на базата данни. Това ще ви позволи да пропуснете да създавате допълнителен сървър, който слуша за тунелиране на входящи връзки. Така че вместо това можете да направите нещо подобно:

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 база данни от Amazon RDS към DigitalOcean

  2. Внедряване на трендови маркери, базирано на Mysql json

  3. Преминаване към mysqli, mysql_result

  4. Не може да се стартира rails сървър

  5. Rails заявка за активен запис получава най-често срещаните обекти