ClearDB mysql提供连接错误AccessDeniedError[SequelizeAccessDeniedError]:拒绝用户访问';b1xxxxxxxxx@';本地主机';
我最近在heroku部署了一台服务器,由于它使用mysql,我将其连接到clearDB,并相应地修改了config.json文件。在部署它之前,我让数据库在本地运行,服务器工作得非常好。但在部署之后,我不得不将数据库更改为cleardb mysql,然后它开始给我各种不同的连接错误。当我只做mysql.createConnection部分时,会弹出一个.connect无错误。同样在mysql工作台上,我可以很好地连接到数据库。在错误消息中,当我确保在配置文件中更改主机,但不确定localhost来自何处时,它显示我正在尝试连接到“b1xxxxxxxx”@“localhost” 这是我的db.js文件:ClearDB mysql提供连接错误AccessDeniedError[SequelizeAccessDeniedError]:拒绝用户访问';b1xxxxxxxxx@';本地主机';,mysql,node.js,express,heroku,cleardb,Mysql,Node.js,Express,Heroku,Cleardb,我最近在heroku部署了一台服务器,由于它使用mysql,我将其连接到clearDB,并相应地修改了config.json文件。在部署它之前,我让数据库在本地运行,服务器工作得非常好。但在部署之后,我不得不将数据库更改为cleardb mysql,然后它开始给我各种不同的连接错误。当我只做mysql.createConnection部分时,会弹出一个.connect无错误。同样在mysql工作台上,我可以很好地连接到数据库。在错误消息中,当我确保在配置文件中更改主机,但不确定localhost
const config = require('config.json');
const mysql = require('mysql2/promise');
const { Sequelize } = require('sequelize');
module.exports = db = {};
initialize();
async function initialize() {
// create db if it doesn't already exist
const { host, port, user, password, database } = config.database;
const connection = await mysql.createConnection({ host, port, user, password });
await connection.query(`CREATE DATABASE IF NOT EXISTS \`${database}\`;`);
// connect to db
const sequelize = new Sequelize(database, user, password, { dialect: 'mysql' });
// init models and add them to the exported db object
db.User = require('../users/user.model')(sequelize);
console.log(host,port,user,password,database);
// sync all models with database
await sequelize.sync();
}
这是我的config.json文件:
{
"database": {
"host": "us-cdbr-xxxxxxxxxxx",
"port": 3306,
"user": "b1fxxxxxxxx",
"password": "55dxxxxx",
"database": "heroku_931ecxxxxxxxxx"
},
"secret": "Nhjhgktcdrydcytfgty69pr759edkf867r76fo9g08h940-vhj89ghg&^G&^fgV^%FVDCVGVSgf87vg&8VG*&vFhy&v*)&G)*&g7G*&g*&GV&*)VHVHS(F*jv0-(J()j09JVhSDF(*F*("
}
以下是我的错误消息:
C:\codingProjects\GitHub\userSQL\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:118
throw new SequelizeErrors.AccessDeniedError(err);
^
AccessDeniedError [SequelizeAccessDeniedError]: Access denied for user 'b1f6bd6150b66f'@'localhost' (using password: YES)
at ConnectionManager.connect (C:\codingProjects\GitHub\userSQL\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:118:17)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async ConnectionManager._connect (C:\codingProjects\GitHub\userSQL\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:318:24)
at async C:\codingProjects\GitHub\userSQL\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:250:32
at async ConnectionManager.getConnection (C:\codingProjects\GitHub\userSQL\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:280:7)
at async C:\codingProjects\GitHub\userSQL\node_modules\sequelize\lib\sequelize.js:613:26
at async MySQLQueryInterface.createTable (C:\codingProjects\GitHub\userSQL\node_modules\sequelize\lib\dialects\abstract\query-interface.js:225:12)
at async Function.sync (C:\codingProjects\GitHub\userSQL\node_modules\sequelize\lib\model.js:1300:5)
at async Sequelize.sync (C:\codingProjects\GitHub\userSQL\node_modules\sequelize\lib\sequelize.js:793:35)
at async initialize (C:\codingProjects\GitHub\userSQL\_helpers\db.js:28:5) {
parent: Error: Access denied for user 'b1f6bd6150b66f'@'localhost' (using password: YES)
at Packet.asError (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\packets\packet.js:712:17)
at ClientHandshake.execute (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\commands\command.js:28:26)
at Connection.handlePacket (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\connection.js:417:32)
at PacketParser.onPacket (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\connection.js:75:12)
at PacketParser.executeStart (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\packet_parser.js:75:16)
at Socket.<anonymous> (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\connection.js:82:25)
at Socket.emit (node:events:365:28)
at addChunk (node:internal/streams/readable:314:12)
at readableAddChunk (node:internal/streams/readable:289:9)
at Socket.Readable.push (node:internal/streams/readable:228:10) {
code: 'ER_ACCESS_DENIED_ERROR',
errno: 1045,
sqlState: '28000',
sqlMessage: "Access denied for user 'b1f6bd6150b66f'@'localhost' (using password: YES)"
},
original: Error: Access denied for user 'b1f6bd6150b66f'@'localhost' (using password: YES)
at Packet.asError (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\packets\packet.js:712:17)
at ClientHandshake.execute (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\commands\command.js:28:26)
at Connection.handlePacket (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\connection.js:417:32)
at PacketParser.onPacket (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\connection.js:75:12)
at PacketParser.executeStart (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\packet_parser.js:75:16)
at Socket.<anonymous> (C:\codingProjects\GitHub\userSQL\node_modules\mysql2\lib\connection.js:82:25)
at Socket.emit (node:events:365:28)
at addChunk (node:internal/streams/readable:314:12)
at readableAddChunk (node:internal/streams/readable:289:9)
at Socket.Readable.push (node:internal/streams/readable:228:10) {
code: 'ER_ACCESS_DENIED_ERROR',
errno: 1045,
sqlState: '28000',
sqlMessage: "Access denied for user 'b1f6bd6150b66f'@'localhost' (using password: YES)"
}
}
C:\codingProjects\GitHub\userSQL\node\u modules\sequelize\lib\dialogs\mysql\connection manager.js:118
抛出新的SequelizeError.AccessDeniedError(err);
^
AccessDeniedError[SequelizeAccessDeniedError]:用户“b1f6bd6150b66f”@“localhost”的访问被拒绝(使用密码:是)
在ConnectionManager.connect(C:\codingProjects\GitHub\userSQL\node\u modules\sequelize\lib\dialogs\mysql\connection manager.js:118:17)
在处理和拒绝时(节点:内部/处理/任务队列:96:5)
在异步连接管理器上连接(C:\codingProjects\GitHub\userSQL\node\u modules\sequelize\lib\dialogs\abstract\connection manager.js:318:24)
异步C:\codingProjects\GitHub\userSQL\node\u modules\sequelize\lib\dialogs\abstract\connection manager.js:250:32
在async ConnectionManager.getConnection(C:\codingProjects\GitHub\userSQL\node\u modules\sequelize\lib\dialogs\abstract\connection manager.js:280:7)
异步C:\codingProjects\GitHub\userSQL\node\u modules\sequelize\lib\sequelize.js:613:26
在异步MySQLQueryInterface.createTable(C:\codingProjects\GitHub\userSQL\node\u modules\sequelize\lib\dialogs\abstract\query interface.js:225:12)
在async Function.sync(C:\codingProjects\GitHub\userSQL\node\u modules\sequelize\lib\model.js:1300:5)
在async Sequelize.sync(C:\codingProjects\GitHub\userSQL\node\u modules\Sequelize\lib\Sequelize.js:793:35)
异步初始化时(C:\codingProjects\GitHub\userSQL\\u helpers\db.js:28:5){
父项:错误:拒绝用户“b1f6bd6150b66f”@“localhost”的访问(使用密码:是)
在Packet.asError(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\packets\Packet.js:712:17)
在ClientHandshake.execute(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\commands\command.js:28:26)
位于Connection.handlePacket(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\Connection.js:417:32)
在PacketParser.onPacket(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\connection.js:75:12)
在PacketParser.executeStart(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\packet\u parser.js:75:16)
在套接字上。(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\connection.js:82:25)
在Socket.emit(节点:事件:365:28)
在addChunk(节点:内部/流/可读:314:12)
在readableAddChunk(节点:internal/streams/readable:289:9)
在Socket.Readable.push(节点:内部/streams/Readable:228:10){
代码:“ER\u访问被拒绝\u错误”,
errno:1045,
sqlState:'28000',
sqlMessage:“用户'b1f6bd6150b66f'@'localhost'的访问被拒绝”(使用密码:是)
},
原始:错误:用户“b1f6bd6150b66f”@“本地主机”的访问被拒绝(使用密码:是)
在Packet.asError(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\packets\Packet.js:712:17)
在ClientHandshake.execute(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\commands\command.js:28:26)
位于Connection.handlePacket(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\Connection.js:417:32)
在PacketParser.onPacket(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\connection.js:75:12)
在PacketParser.executeStart(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\packet\u parser.js:75:16)
在套接字上。(C:\codingProjects\GitHub\userSQL\node\u modules\mysql2\lib\connection.js:82:25)
在Socket.emit(节点:事件:365:28)
在addChunk(节点:内部/流/可读:314:12)
在readableAddChunk(节点:internal/streams/readable:289:9)
在Socket.Readable.push(节点:内部/streams/Readable:228:10){
代码:“ER\u访问被拒绝\u错误”,
errno:1045,
sqlState:'28000',
sqlMessage:“用户'b1f6bd6150b66f'@'localhost'的访问被拒绝”(使用密码:是)
}
}
检查此用户的授权