4

NodeJs から Heroku の Mysql ClearDB に接続する方法を教えてください。

Navicat から Heroku で実行されている ClearDB Mysql に接続できました。t_users というテーブルも作成しました。しかし、Heroku の NodeJ からの接続に問題があります。

これは私のコードです。非常に単純です。MySQL に接続しようとするまで、すべてが機能します。

web.js:

var express = require("express");
var app = express();
app.use(express.logger());

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'us-cdbr-east-04.cleardb.com',
  user     : '',
  password : '',
  database : ''
});

connection.connect();

app.get('/', function(request, response) {
  response.send('Hello World!!!! HOLA MUNDOOOOO!!!');
  connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
      if (err) throw err;

      response.send('The solution is: ', rows[0].solution);
    });
});

var port = process.env.PORT || 5000;
app.listen(port, function() {
  console.log("Listening on " + port);
});

これは、コマンドラインで実行したときに得たものです: Heroku config

C:\wamp\www\Nodejs_MySql_Heroku>heroku config
=== frozen-wave-8356 Config Vars
CLEARDB_DATABASE_URL: mysql://b32fa719432e40:87de815a@us-cdbr-east-04.cleardb.com/heroku_28437b49d76cc53?reconnect=true
PATH:                 bin:node_modules/.bin:/usr/local/bin:/usr/bin:/bin

これはログです: http://d.pr/i/cExL

NodeJs から Heroku の Mysql ClearDB に接続する方法を教えてください。ありがとう

4

5 に答える 5

6

これを試して。これがあなたを助けることを願っています

mysql://b32fa719432e40:87de815a@us-cdbr-east-04.cleardb.com/heroku_28437b49d76cc53?reconnect=true

var connection = mysql.createConnection({
  host     : 'us-cdbr-east-04.cleardb.com',
  user     : 'b32fa719432e40',
  password : '87de815a',
  database : 'heroku_28437b49d76cc53'
});

この詳細を使用して mySQL ワークベンチに接続し、ローカルホスト データベースをインポートします。

于 2016-09-01T11:29:09.637 に答える
3

基本コードは問題ありませんでした。いくつかの NodeJS コードを見逃していました。

Heroku サーバーで MySqlusing NodeJS に接続する方法を説明するビデオを作成しました。

http://www.youtube.com/watch?v=2OGHdii_42s

これは、見たい場合のコードです。

https://github.com/mescalito/MySql-NodeJS-Heroku

于 2013-08-23T23:06:14.900 に答える
0

ログのタイムスタンプを見ると、接続がタイムアウトしているようです。接続の状態をチェックして必要に応じて再確立する「getConnection」のラッパーを作成するか、それを実行できる mysql 接続プール機能を使用してみてください。

于 2013-08-23T19:10:06.070 に答える