2011-12-05 6 views
2

SequelizeJSを使用して、自分のローカルホスト(MAMP)にあるデータベースに接続して話しています。しかし、クエリを実行しようとするたびに、私はこのエラーを受け取り続けます:ECONNREFUSED。 MySQLのポート番号とホスト名(3306とlocalhost)を二重にチェックしました。私は自分のサイトにあるガイドをかなりフォローしました。ここに私のコードの一部です:機能でSequelize(nodejs)でlocalhostデータベースに接続します

var sequelize = new mysql('partythump', 'root', 'mysqlroot', { 
    host: 'localhost', 
    port: 3306, 
    timestamps: false 
}); 

var parties = sequelize.define('parties', { 
    id: mysql.INTEGER, 
    party_name: mysql.STRING, 
    party_id: mysql.STRING, 
    created_on: mysql.DATE, 
    is_active: mysql.BOOLEAN, 
    party_code: mysql.STRING, 
    geo_location: mysql.STRING 
}); 

、私はこれを持っている:

var party = parties.build({ 
    id: null, 
    party_name: 'test', 
    party_id: '', 
    is_active: 1, 
    party_code: '', 
    geo_location: '', 
    created_on: new Date() 
}); 

party 
.save() 
.on('success', function() { 
    console.log('Inserted new party into db'); 
}) 
.on('failure', function(error) { 
    console.log('Could not execute insert query'); 
    console.log(error); 
}); 

誰も私を助けることはできますか?

答えて

0

ホスト127.0.0.1でお試しいただけますか?

1

MySQLクライアントライブラリは通常、ホスト名としてlocalhostを指定すると、Unixソケット(特別な種類のファイル)を介して接続しようとします。

これは、クライアントライブラリとMySQLサーバプロセスがUnixソケットを同じ名前で検索し、サーバとクライアントの両方の設定ファイルに設定する場合にのみ有効です。

開発作業のために、Unixソケットの速度が必要ないので、sdepoldの127.0.0.1を使用することをお勧めします。

その後、サーバーとクライアントのインストールに関するドキュメントを参照して、その気分を感じるときに設定を見つけることができます。

7

答えに感謝しますが、私の同僚は最終的に問題を把握しました。それはMAMPの設定と関係しています。この問題を解決するには:

MAMPで

、メニューバーで、[ファイル]> [テンプレートの編集>はMySQLのmy.cnfの

ライン46で、コメントアウト:

MAMP_skip-networking_MAMP 

が動作するようになりました!

関連する問題