Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro "ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client"

Estou recebendo o erro abaixo na conexão como banco de dados MySQL. Estou com a versão 8 e pelo que verifiquei, outras pessoas no forum que tiveram o mesmo problema viram que a solução seria instalar o MySql 5.7. Não existe algum outro conector pro mysql que resolva este problema sem precisar instalar a versão mais antiga do mysql? Tentei utilizar o conector que tem no site do mysql mas não consegui.

{ Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
    at Handshake.Sequence._packetToError (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\protocol\sequences\Sequence.js:52:14)
    at Handshake.ErrorPacket (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\protocol\sequences\Handshake.js:130:18)
    at Protocol._parsePacket (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\protocol\Protocol.js:279:23)
    at Parser.write (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\protocol\Parser.js:76:12)
    at Protocol.write (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\protocol\Protocol.js:39:16)
    at Socket.<anonymous> (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\Connection.js:103:28)
    at Socket.emit (events.js:182:13)
    at addChunk (_stream_readable.js:277:12)
    at readableAddChunk (_stream_readable.js:262:11)
    at Socket.Readable.push (_stream_readable.js:217:10)
    --------------------
    at Protocol._enqueue (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\protocol\Protocol.js:145:48)
    at Protocol.handshake (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\protocol\Protocol.js:52:23)
    at Connection.connect (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\Connection.js:130:18)
    at Connection._implyConnect (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\Connection.js:461:10)
    at Connection.query (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\mysql\lib\Connection.js:206:8)
    at C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\app\routes\produtos.js:11:20
    at Layer.handle [as handle_request] (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\express\lib\router\route.js:137:13)
    at Route.dispatch (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\express\lib\router\route.js:112:3)
    at Layer.handle [as handle_request] (C:\Users\Guizi\Documents\Cursos\Nodejs\casaDoCodigo\node_modules\express\lib\router\layer.js:95:5)
  code: 'ER_NOT_SUPPORTED_AUTH_MODE',
  errno: 1251,
  sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
  sqlState: '08004',
  fatal: true }
(node:13060) [DEP0096] DeprecationWarning: timers.unenroll() is deprecated. Please use clearTimeout instead.
3 respostas

Ricardo.

Talvez o ORM Sequelize de suporte, talvez ele te ajude: http://docs.sequelizejs.com/

solução!

Resetei a senha para vazio e em seguida native password para vazio ALTER USER 'root'@'localhost' IDENTIFIED BY ''; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''

Legal. Obrigado por compartilhar a solução :-)