2016-02-29 89 views
5

我在使用numtel流星包通过网络发送和接收MySql信息时遇到问题(数据库位于服务器上)。目前,它能够使用他的软件包将数据库中的信息推送到屏幕上,但问题发生在第一次加载后。在第一次加载时,它能够从数据库中检索信息,并将其显示在屏幕上,但之后的任何事情似乎触发器都被破坏了,但只是有所不同。我能够将信息发送到服务器,但它似乎在动态检索时失败。信息很好地发送到服务器,但信息不会被检索并显示回屏幕上。它也只会在我添加隧道代码时中断一次。它以前的工作,并获得在同一台机器上使用数据库时的更新。Nodejs Numtel通过SSH连接的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' } ] 
    ); 
    }); 
} 
+0

有没有得到任何地方呢?任何SSH隧道需要保持活力或什么的机会? – Offlein

+1

哦,对不起,我忘了更新它,我的问题是在my.cnf文件中的MySQL。我有server-id,它需要是server_id – user3512661

回答

0

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