Skip to content

I'm getting ER_NOT_SUPPORTED_AUTH_MODE. Why? #2046

Closed
@rivques

Description

@rivques

When I try to make a basic connection, it gives me this error:

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
    at Handshake.Sequence._packetToError (/Users/riverlewis/Desktop/node/mysql-test/node_modules/mysql/lib/protocol/sequences/Sequence.js:52:14)
    at Handshake.ErrorPacket (/Users/riverlewis/Desktop/node/mysql-test/node_modules/mysql/lib/protocol/sequences/Handshake.js:130:18)
    at Protocol._parsePacket (/Users/riverlewis/Desktop/node/mysql-test/node_modules/mysql/lib/protocol/Protocol.js:279:23)
    at Parser.write (/Users/riverlewis/Desktop/node/mysql-test/node_modules/mysql/lib/protocol/Parser.js:76:12)
    at Protocol.write (/Users/riverlewis/Desktop/node/mysql-test/node_modules/mysql/lib/protocol/Protocol.js:39:16)
    at Socket.<anonymous> (/Users/riverlewis/Desktop/node/mysql-test/node_modules/mysql/lib/Connection.js:103:28)
    at Socket.emit (events.js:182:13)
    at addChunk (_stream_readable.js:279:12)
    at readableAddChunk (_stream_readable.js:264:11)
    at Socket.Readable.push (_stream_readable.js:219:10)
    --------------------
    at Protocol._enqueue (/Users/riverlewis/Desktop/node/mysql-test/node_modules/mysql/lib/protocol/Protocol.js:145:48)
    at Protocol.handshake (/Users/riverlewis/Desktop/node/mysql-test/node_modules/mysql/lib/protocol/Protocol.js:52:23)
    at Connection.connect (/Users/riverlewis/Desktop/node/mysql-test/node_modules/mysql/lib/Connection.js:130:18)
    at Object.<anonymous> (/Users/riverlewis/Desktop/node/mysql-test/app.js:11:5)
    at Module._compile (internal/modules/cjs/loader.js:702:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
    at Module.load (internal/modules/cjs/loader.js:612:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
    at Function.Module._load (internal/modules/cjs/loader.js:543:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)

My code is

// app.js
const mysql = require('mysql');

// First you need to create a connection to the db
const con = mysql.createConnection({
  host: 'localhost',
  user: 'user',
  password: 'secret'
});

con.connect((err) => {
  if(err){
    throw err;
    }
  console.log('Connection established');
});

con.end((err) => {
  // The connection is terminated gracefully
  // Ensures all previously enqueued queries are still
  // before sending a COM_QUIT packet to the MySQL server.
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions