私は現在、SequelizeConnectionErrorを受け取りました:私のMySQLデータベースを照会する5番目のリクエストで、不正なハンドシェイクエラーが発生しました。私がサーバーにやっている5回目のリクエストで一貫して失敗します。SequelizeConnectionError:ハンドシェイクが正しくありません
nodejsを使用しています。
User.prototype.validPassword = function(password){
var self = this;
return new Promise(function(resolve, reject){
cryptPassword(password, function(err, encrypted) {
resolve(self.password === encrypted);
});
});
}
そして、次のように私のSequelizeための設定は次のとおりです:次のように
routes.post('/login', (req, res) => {
var email = req.body.email,
password = req.body.password;
models.User.findOne({ where: {email : email} }).then(function(user) {
if(user){
user.validPassword(password).then(result => {
if(result){
res.json({ "result": "Password correct"});
} else {
res.json({ "result": "Password incorrect"});
}
});
} else {
res.json({ "result": "User not found."});
}
});
});
user.validPasswordは次のようにPOSTリクエストを処理しているコードがある
var sequelize = new Sequelize(config.database, config.username, config.password, {
host: config.host,
dialect: config.dialect,
pool: {
max: 100,
min: 0,
idle: 10000,
handleDisconnects: true
}
});
私はプールを削除しようとしましたが、金額を増やし、MySQLに接続制限がないことを確認し、証明書が必要でないことを確認し、MySQLサーバを再インストールしました。
MySQLサーバはUbuntu 14.04 VPSで動作していますが、Azureでホストされていないものもあります。
使用しているsequelizeのバージョンは何ですか? – Jehy
私は4.28.6を使用しています – thezadmin
あなたのサーバーは本当にMySQLですか? mariadbかもしれない?あなたはどのような方言を使用して連続化しますか? – Jehy