Ich verwende das tunnel-ssh
Modul, um Verbindung zur entfernten mysql
Datenbank herzustellen, die node.js verwendet. Die Dokumentation ist schlecht und ich kann keine Verbindung herstellen. Hier ist der Code-Schnipsel:Node.js stellen Verbindung zu remote mysql Server her unter Verwendung von tunnel-ssh
var tunnel = require('tunnel-ssh')
var server = tunnel.tunnel(config.sshData, function(err, result) {console.log('connected'});
Hier ist mein sshData Objekt.
config.sshData = {host : 'serverxyz.web-hosting.com', username : 'xyz', password : 'xyz',
srcPort: 3307, dstPort : 21098}
Die dstPort
ist 21098
wie von der namecheap documentation vorgeschlagen.
jedoch Timeout-Fehler Ich erhalte und wenn ich diese Schnipsel hinzufügen:
server.on('error', function(err) {});
ich server.on is not a function
bekommen den Fehler. Die Fernverbindung funktioniert einwandfrei unter putty
und SQLyog
. Jedes Verfahren zur Herstellung einer erfolgreichen Verbindung wäre eine große Hilfe. Vielen Dank!
aktualisieren
Haben Sie die Datenbank, indem Sie die richtigen Ports angegeben und durch direkte Verwendung ssh2
Modul mit dem Codebeispiel here
Ich denke, dass dstPort der Port ist, auf dem Ihre DB verfügbar ist. Also, wenn die DB auf localhost läuft: 3307 dann benutze 'dstPort: 3307' – Molda
Ich habe die richtige Portnummer verwendet, wie von der Antwort angegeben, immer noch Timeout-Fehler –