Nodejs Numtel Mysql over a SSH connection

Nodejs Numtel Mysql over a SSH connection

本文关键字:SSH connection over Numtel Mysql Nodejs      更新时间:2023-09-26

我在使用 numtel meteor 包通过网络发送和接收 MySql 信息(位于服务器上的数据库)时遇到问题。目前,它能够使用他的包将信息从数据库推送到屏幕,但问题发生在第一次加载后。在第一次加载时,它能够从数据库中检索信息,并将其显示在屏幕上,但之后的任何内容,似乎触发器都损坏了,但只是一些。我能够将信息发送到服务器,但它似乎在动态检索时失败。信息被发送到服务器就可以了,但信息不会被检索并显示回屏幕上。它也只在我添加隧道代码时中断一次。它以前在同一台计算机上使用数据库时工作并获得更新。

messages = new MysqlSubscription('getMessages');
messages.addEventListener('update', function(diff, data) {
    console.log("Event listener");
});
if (Meteor.isClient) {
Template.messageHistory.helpers({
    messages: function () {
      return messages.reactive(); 
    }
  });
} 
if (Meteor.isServer) {
  var Tunnel = Meteor.npmRequire('tunnel-ssh');    
  var config = {
        host: "ourhost",
        username: "uname",
        password: "password",
        port:22,
        dstPort:3306,
        srcPort:3307,
      };
  Tunnel.tunnel(config, function(err) { (err == null) ? console.log(config) : console.log(err) })
  var liveDb = new LiveMysql({
                   host:"localhost",
                   port:3307,
                   database: "db",
                   user: "root",
                   password: "password"
               });
 Meteor.publish('getMessages', function() {
    return liveDb.select(
      'SELECT * FROM messages ORDER BY Timestamp', 
      [ { table: 'messages' } ]
    );
  });
}

我的问题出在我的 mysql 的 my.cnf 文件中。我有服务器 ID,需要server_id