我是一个学习node js的新手,并使用yeoman根据他们的入门视频为feathers js框架生成了一个应用程序。
这个过程生成一个config/default.js用于连接到MySQL数据库,看起来像下面这样。
{
"host": "localhost",
"port": 3030,
"mysql": "mysql://root:@localhost:3306/item",
"public": "../public/",
"auth": {
"idField": "id",
"token": {
"secret": "(long secret string)"
},
"local": {}
}
}
当我运行npm start时,我得到了一个错误…
Unhandled rejection SequelizeAccessDeniedError: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: NO)...
所以我需要添加一个密码到"mysql"字符串值,但我不确定如何添加密码值到该字符串。我试过添加"密码"作为一个单独的变量,并以各种方式修改"mysql"字符串,但无济于事。sequelize的所有示例(feathersjs显然将其用于ORM)在单独的行中显示MySQL的参数,而不是在一个字符串中。
有谁知道mysql字符串应该使用什么格式,以便在字符串中包含密码?
OK。事实证明并没有那么难。包含密码的"mysql"字符串的格式如下:
"mysql": "mysql://root:password@localhost:3306/dbname"
希望这能帮助到别人。