2017-07-20 33 views
1

node.jsサーバー上のオンラインmysqlデータベースに簡単に接続しようとしています。Node.js MySQLデータベース接続 - タイムアウト(ETIMEDOUT)

私はエラーを取得し、このサーバを実行するたびに
var mysql = require('mysql'); 

var con = mysql.createConnection({ 
    host: 'example.org', 
    username: 'myusername', 
    password: 'mypassword' 
}); 

con.connect(function(err) { 
    if (err) throw err; 
    console.log("Connected!"); 
}); 

: 「ETIMEDOUTを接続する」これが私のコードです。

私の資格情報が正しいと確信していて、私もphpmyadminのユーザーの権限を変更しました(私はこのユーザーにすべての権限を与えました)。

私はサーバーをローカルで実行していますが、これと関係があるかどうかはわかりません。

私の質問は次のとおりです。 - なぜタイムアウトしていますか? - このデータベースに接続するにはどうすればよいですか?

+0

'エラー:接続コールバックでETIMEDOUT'を接続するには、MySQLサーバへの接続が確立できなかったことを示しています。あなたが入力した 'host'が、mysqlサーバがlistenしているipにポイントし、mysqlが標準ポートをlistenしていることを確認していますか? –

+0

@ t.niese 'host'には、MySQLデータベースをホストしているWebサーバーのURLを入れます。私もURLをIPアドレスに置き換えようとしましたが、それもうまくいきませんでした。 –

答えて

0

これはあなたのデータベースに関連しているようです。

ただし、より長いタイムアウト値を渡すことで、タイムアウトのデフォルトを延長できます。 (デフォルトは10000です)。

だけで実行します。

var con = mysql.createConnection({ 
host: 'example.org', 
    username: 'myusername', 
    password: 'mypassword', 
    connectTimeout: 30000 
}); 
+0

あなたの答えをありがとう。私はそれを試みたが、それでも私には「ETIMEDOUT」エラーが出る。それがどうしていいのか? –

+0

シェルからデータベースに接続できますか? –

+0

いいえ私はホスティングサービスに連絡しており、ファイアウォールのために外部ソースからこのWebサーバーに接続することはできません。私は別のサーバーにデータベースを移動するつもりです。ご協力いただきありがとうございます! –

関連する問題