2015-09-24 12 views
6

Sequelize kullanmaya başladım. Bazı hatalarla karşı karşıyayım ama bazılarını çözdüm ve bazılarını temizledim ama bunu anlayamıyorum.Sırasıyla mysql Erişimi (Express/NodeJS) Erişimi Hatası

Proje Yapısı:

Project 
-Client 
-Server 
    --models 
    ---index.js 
    ---Sid.js 
    --router 
    ---routes 
     ----signup.js 
    ---index.js 
    app.js 

benim yapılandırma varriable:

"Lexstart": { 
    "dbConfig": { 
    "driver": "mysql", 
    "user": "root", 
    "database": "sid1", 
    "password": "sid1", 
    "host": "127.0.0.1", 
    "port": "3306" 
    } 
} 

My modeller/index.js:

var fs  = require("fs"); 
var path  = require("path"); 
var Sequelize = require('sequelize'); 
var config = require('config'); // we use node-config to handle environments 

var dbConfig = config.get('Lexstart.dbConfig'); 

// initialize database connection 
var sequelize = new Sequelize(
    dbConfig.database, 
    dbConfig.username, 
    dbConfig.password,{ 
     host: dbConfig.host, 
     dialect: dbConfig.driver 
} 
); 
var db  = {}; 

fs 
.readdirSync(__dirname) 
.filter(function(file) { 
    return (file.indexOf(".") !== 0) && (file !== "index.js"); 
}) 
.forEach(function(file) { 
    var model = sequelize.import(path.join(__dirname, file)); 
    db[model.name] = model; 
}); 

Object.keys(db).forEach(function(modelName) { 
if ("associate" in db[modelName]) { 
    db[modelName].associate(db); 
} 
}); 

db.sequelize = sequelize; 
db.Sequelize = Sequelize; 

module.exports = db; 

modeller/Sid.js

module.exports = function(sequelize, DataTypes) { 
    var Sid = sequelize.define("Sid", { 
     username: DataTypes.STRING, 
     password: DataTypes.STRING 
    }); 

return Sid; 
}; 

benim yönlendirici/index.js

/** 
* The Index of Routes 
*/ 

module.exports = function (app) { 

// The signup route 
app.use('/signup', require('./routes/signup')); 
} 

benim yönlendirici/rotalar/

var models = require('../../models'); 
var Sid = models.Sid; 
// Include Express 
var express = require('express'); 
// Initialize the Router 
var router = express.Router(); 
var config = require('config'); // we use node-config to handle environments 


// Setup the Route 
router.get('/', function (req, res) { 

Sid.findAll().then(function(users) { 
    console.log(users);; 
}); 

// return a json response to angular 
res.json({ 
    'msg': users 
}); 
}); 

router.get('/sid', function (req, res) { 

// return a json response to angular 
res.json({ 
    'msg': "sid" 
}); 
}); 



// Expose the module 
module.exports = router; 

signup.js rota localhost: 3000/kayıt/sid iyi çalışıyor. Ama/kayıt hatası veriyor. Aşağıdaki hata metninde de görüldüğü gibi, bağlantı yapılandırılmış değişken değeri (kullanıcı adı, parola, ana bilgisayar) olmadan deneniyor (yapılandırma değişkeni çalışıyor ve iyi çalışıyor). Ben de hata ayıklama yaparken bunu anlayamıyorum.

Unhandled rejection SequelizeAccessDeniedError: ER_ACCESS_DENIED_ERROR: Access denied for user ''@'localhost' (using password: YES) 
at Handshake._callback (/Users/siddharthsrivastava/Documents/sites/express/LexStart/server/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:51:20) 
at Handshake.Sequence.end (/Users/siddharthsrivastava/Documents/sites/express/LexStart/server/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24) 
at Handshake.ErrorPacket (/Users/siddharthsrivastava/Documents/sites/express/LexStart/server/node_modules/mysql/lib/protocol/sequences/Handshake.js:103:8) 
at Protocol._parsePacket (/Users/siddharthsrivastava/Documents/sites/express/LexStart/server/node_modules/mysql/lib/protocol/Protocol.js:274:23) 
at Parser.write (/Users/siddharthsrivastava/Documents/sites/express/LexStart/server/node_modules/mysql/lib/protocol/Parser.js:77:12) 
at Protocol.write (/Users/siddharthsrivastava/Documents/sites/express/LexStart/server/node_modules/mysql/lib/protocol/Protocol.js:39:16) 
at Socket.<anonymous> (/Users/siddharthsrivastava/Documents/sites/express/LexStart/server/node_modules/mysql/lib/Connection.js:96:28) 
at Socket.emit (events.js:107:17) 
at readableAddChunk (_stream_readable.js:163:16) 
at Socket.Readable.push (_stream_readable.js:126:10) 
at TCP.onread (net.js:538:20) 

Lütfen kılavuzu.

Siddharth dbConfig hiçbir kullanıcı adı bulunmamaktadır

cevap

3

. Kullanıcıyı yapılandırmanızdaki kullanıcı adıyla değiştirin. "dbConfig": { "driver": "mysql", "user": "root", ... var sequelize = new Sequelize( dbConfig.database, dbConfig.username,

2

config.json'a gidin ve kullanıcıyı kullanıcı adı olarak değiştirin ve uygulamanızı yeniden başlatın. Bazen hiç hata yok ve uygulama çalışmıyor.

"Lexstart": { 
    "dbConfig": { 
    "driver": "mysql", 
    "username": "root", 
    "database": "sid1", 
    "password": "sid1", 
    "host": "127.0.0.1", 
    "port": "3306" 
    } 
}