Ошибка MySQL в NodeJS: невозможно подключиться как root

0

Я работаю над небольшим проектом, который использует NodeJS (8.9.0 для Windows) и MySQL (5.7.0 для Windows). ОС - WIndows 10 64 бит.

Мой вопрос довольно прост (с точки зрения отсутствия деталей), из-за моего отсутствия опыта работы с узлом:
Является причиной этого исключения в моей установке mysql или в модуле mysql приложения NodeJS или даже в настройках инструментария MySQL?
Я хотел установить (используя пароль: ДА), который можно увидеть в журнале ошибок, к НЕТ, чтобы приложение узла могло подключиться без пароля. wh, но я не знаю, где отключить эту

Здесь журнал консоли с исключением:

    C:\Users\myPCAccount\git\sampleProject>node app.js
Environment: development
Configuring server
Configuring sequelize
Synchronising database
Configuring passport
Configuring express-server
Server listening on port 3000
Unhandled rejection SequelizeAccessDeniedError: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES)
    at Handshake._callback (C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:83:20)
    at Handshake.Sequence.end (C:\Users\myPCAccount\git\sampleProject\node_modules\mysql\lib\protocol\sequences\Sequence.js:88:24)
    at Handshake.ErrorPacket (C:\Users\myPCAccount\git\sampleProject\node_modules\mysql\lib\protocol\sequences\Handshake.js:132:8)
    at Protocol._parsePacket (C:\Users\myPCAccount\git\sampleProject\node_modules\mysql\lib\protocol\Protocol.js:279:23)
    at Parser.write (C:\Users\myPCAccount\git\sampleProject\node_modules\mysql\lib\protocol\Parser.js:76:12)
    at Protocol.write (C:\Users\myPCAccount\git\sampleProject\node_modules\mysql\lib\protocol\Protocol.js:39:16)
    at Socket.<anonymous> (C:\Users\myPCAccount\git\sampleProject\node_modules\mysql\lib\Connection.js:103:28)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at Socket.Readable.push (_stream_readable.js:208:10)
    at TCP.onread (net.js:594:20)
From previous event:
    at ConnectionManager.connect (C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:55:10)
    at ConnectionManager.<anonymous> (C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:247:43)
From previous event:
    at Promise.then (C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\promise.js:21:17)
    at Model.sync (C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\model.js:993:6)
    at C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\sequelize.js:1014:20
From previous event:
    at Function.each (C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\promise.js:21:17)
    at C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\sequelize.js:1013:20
    at runCallback (timers.js:789:20)
    at tryOnImmediate (timers.js:751:5)
    at processImmediate [as _immediateCallback] (timers.js:722:5)
From previous event:
    at Promise.then (C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\promise.js:21:17)
    at Sequelize.sync (C:\Users\myPCAccount\git\sampleProject\node_modules\sequelize\lib\sequelize.js:1000:6)
    at module.exports (C:\Users\myPCAccount\git\sampleProject\config\sequelize.js:32:35)
    at Object.<anonymous> (C:\Users\myPCAccount\git\sampleProject\app.js:32:30)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Function.Module.runMain (module.js:676:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3
Теги:

1 ответ

0

"Использовать пароль: YES" означает, что ваш Node-приложение действительно предоставил пароль.

"Использование пароля: НЕТ" означает, что приложение Node не предоставило пароль (или указало '' как пустой пароль"). Будет ли это работать, зависит от того, создан ли пользователь без пароля в MySQL Server.

Не рекомендуется по соображениям безопасности когда-либо создавать пользователя MySQL с пустым паролем, а тем более от пользователя root. Если вы не используете сертификаты TLS вместо паролей.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню