windowsで作業をしています。
ローカルサーバーでの作業です。
ubuntuで立ち上げたサーバーとの接続です。
ローカルサーバーのnode.js(v0.10.25)においてリモートホストのmysqlのデータベースに接続し、データを得たいと考えています。
コードは以下の通りです。
var db = require('mysql'); var settings = { "host": "host", "database": "db", "user": "user", "password": "pass" }; var connection = db.createConnection(settings); connection.query("show tables;", function(err, result) { if (err) { console.log(err); // 接続失敗 return; } console.log(result); // [ { 'count(*)': 8 } ] connection.end(function() { // 接続終了 }); });
エラーはこういった形で出ます。
{ [Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'ユーザー'@'ホスト' (using password: YES)] code: 'ER_ACCESS_DENIED_ERROR', errno: 1045, sqlState: '28000', fatal: true } undefined
セッティングでホストの値はサーバーの値を入力しているのですが、
ホストの値が繋いでいるwifiによって変更されてしまいます。
御教授よろしくお願いします。
追記 ホストの値が変更されるといった内容の詳細を記入ッせてもらいます。
本来はnode.js上のsettingで記入した、hostの値になるべき場所がPCが利用しているwi-fiである、
{ [Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'ユーザー'@'softbank0689 1463235.bbtec.net'
や、またほかのwi-fiに接続すると、
{ [Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'ユーザー'@'ai12632482360 87.59.access-internet.ne.jp' (using password: YES)]
といった形で本来のhostであるべきの場所が変更されてしまいます。
今エラーの原因がhostが変わっていることとして扱っていますが、
この変更されてしまうこと自体が問題ということでいいのでしょうか?
編集依頼の追記をさせてもらいます。
①MYSQLサーバーは、WINDOWS上で動かしているテストサーバーでしょうか?(社内開発目的等のサーバーでしょうか?)
→サーバーはMicrosoft Azureを利用しています。
②MYSQLサーバーは、ルーター経由でネットにつながっているのでしょうか?それとも、ルーターを経由せず、直接Wi-fi等に接続されておられるのでしょうか?
→ルーターを介してwi-fiに接続しています。
③MYSQLサーバーにアクセスしている端末は、MYSQLサーバーとは別のパソコンでしょうか?それとも、MYSQLと同じパソコンでしょうか?
→はい別の端末です。また、他の端末では、MYSQLサーバーにログインすることは出来たのですが、今回node.jsからの接続に失敗しているといった状態です。
回答4件
あなたの回答
tips
プレビュー