Selam, MySQL veritabanını, NodeJS ile bağlamaya calışıyorum, normal yazdığımda bağlanıyor, fakat .env dosyası ile denediğimde bağlanmıyor, internete baktım biraz ama cozemedim. Yardım eder misiniz?
Env dosyası kullanmadan sorunsuz bağlanan şekil;
JavaScript:Panoya kopyala
const express = require('express'); const app = express(); const mysql = require('mysql'); const db = mysql.createPool() db.getConnection( (err, connection) => )
Env Dosyası ile hata aldığım şekil;
Kod:Panoya kopyala
DB_HOST = 127.0.0.1 DB_USER = newuser DB_PASSWORD = password123 DB_DATABASE = userDB DB_PORT = 3606 PORT = 3000
JavaScript:Panoya kopyala
const express = require('express'); const app = express(); const mysql = require('mysql'); require('dotenv').config() const DB_HOST = process.env.DB_HOST const DB_USER = process.env.DB_USER const DB_PASSWORD = process.env.DB_PASSWORD const DB_DATABASE = process.env.DB_DATABASE const DB_PORT = process.env.DB_PORT const db = mysql.createPool() db.getConnection( (err, connection) => )
Not: Dotenv'nin config kısmına path vererek yapmayı denedim o da olmadı. Hepsi aynı klasorde.
Hata;
Surprizbozan: Hata kodları Kod:Panoya kopyala
C:UsersrootDesktopdbServernode_modulesmysqllibprot ocolParser.js:437 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:UsersrootDesktopdbServernode_modulesmysqllibpro tocolsequencesSequence.js:47:14) at Handshake.ErrorPacket (C:UsersrootDesktopdbServernode_modulesmysqllibpro tocolsequencesHandshake.js:123:18) at Protocol._parsePacket (C:UserstrfurDesktopdbServernode_modulesmysqllibpr otocolProtocol.js:291:23) at Parser._parsePacket (C:UsersrootDesktopdbServernode_modulesmysqllibpro tocolParser.js:433:10) at Parser.write (C:UsersrootDesktopdbServernode_modulesmysqllibpro tocolParser.js:43:10) at Protocol.write (C:UsersrootDesktopdbServernode_modulesmysqllibpro tocolProtocol.js:38:16) at Socket. (C:UsersrootDesktopdbServernode_modulesmysqllibCon nection.js:88:28) at Socket. (C:UsersrootDesktopdbServernode_modulesmysqllibCon nection.js:526:10) at Socket.emit (node:events:527:28) at addChunk (node:internal/streams/readable:315:12) -------------------- at Protocol._enqueue (C:UsersrootDesktopdbServernode_modulesmysqllibpro tocolProtocol.js:144:48) at Protocol.handshake (C:UsersrootDesktopdbServernode_modulesmysqllibpro tocolProtocol.js:51:23) at PoolConnection.connect (C:UsersrootDesktopdbServernode_modulesmysqllibCon nection.js:116:18) at Pool.getConnection (C:UsersrootDesktopdbServernode_modulesmysqllibPoo l.js:48:16) at Object. (C:UsersrootDesktopdbServerdbServer.js:23:4) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) [nodemon] app crashed - waiting for file changes before starting...