title: MySQL 8.0 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
body: <p>I can't make a simple connection to the server for some reason. I install the newest MySQL Community 8.0 database along with Node.JS with default settings.</p>
  
  <p><strong>This is my node.js code</strong></p>
  
  <pre><code>    var mysql = require('mysql');
  
      var con = mysql.createConnection({
        host: "localhost",
        user: "root",
        password: "password",
        insecureAuth : true
      });
  
      con.connect(function(err) {
        if (err) throw err;
        console.log("Connected!");
      });
  </code></pre>
  
  <p><strong>Below is the error found in Command Prompt:</strong></p>
  
  <pre><code>C:\Users\mysql-test&gt;node app.js
      C:\Users\mysql-test\node_modules\mysql\lib\protocol\Parse
      r.js:80
              throw err; // Rethrow non-MySQL errors
              ^
  
  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\mysql-
  test\node_modules\mysql\lib\protocol\sequences\Sequence.js:52:14)
      at Handshake.ErrorPacket (C:\Users\mysql-test\node_mo
  dules\mysql\lib\protocol\sequences\Handshake.js:130:18)
      at Protocol._parsePacket (C:\Users\mysql-test\node_mo
  dules\mysql\lib\protocol\Protocol.js:279:23)
      at Parser.write (C:\Users\mysql-test\node_modules\mys
  ql\lib\protocol\Parser.js:76:12)
      at Protocol.write (C:\Users\mysql-test\node_modules\m
  ysql\lib\protocol\Protocol.js:39:16)
      at Socket.&lt;anonymous&gt; (C:\Users\mysql-test\node_modul
  es\mysql\lib\Connection.js:103:28)
      at Socket.emit (events.js:159:13)
      at addChunk (_stream_readable.js:265:12)
      at readableAddChunk (_stream_readable.js:252:11)
      at Socket.Readable.push (_stream_readable.js:209:10)
      --------------------
      at Protocol._enqueue (C:\Users\mysql-test\node_module
  s\mysql\lib\protocol\Protocol.js:145:48)
      at Protocol.handshake (C:\Users\mysql-test\node_modul
  es\mysql\lib\protocol\Protocol.js:52:23)
      at Connection.connect (C:\Users\mysql-test\node_modul
  es\mysql\lib\Connection.js:130:18)
      at Object.&lt;anonymous&gt; (C:\Users\mysql-test\server.js:
  11:5)
  at Module._compile (module.js:660:30)
  at Object.Module._extensions..js (module.js:671:10)
  at Module.load (module.js:573:32)
  at tryModuleLoad (module.js:513:12)
  at Function.Module._load (module.js:505:3)
  at Function.Module.runMain (module.js:701:10)
  </code></pre>
  
  <p>I've read up on some things such as:
  <a href="https://dev.mysql.com/doc/refman/5.5/en/old-client.html" rel="noreferrer">https://dev.mysql.com/doc/refman/5.5/en/old-client.html</a>
  <a href="https://github.com/mysqljs/mysql/issues/1507" rel="noreferrer">https://github.com/mysqljs/mysql/issues/1507</a></p>
  
  <p>But I am still not sure how to fix my problem. Any help would be appreciated :D</p>