๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘ฉ‍๐Ÿ’ป ๊ฐœ๋ฐœ ๊ณต๋ถ€/2025 ํ•œ๊ฒฝxํ† ์Šค ๋ถ€์บ (Fullstack)

[ํ•œ๊ฒฝxToss] ๐Ÿ‘์ถ”๊ฐ€๊ณต๋ถ€) Node JS, MySQL ์„œ๋ฒ„ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… / API ๋งŒ๋“ค๊ธฐ ER_NOT_SUPPORTED_AUTH_MODE ์—๋Ÿฌ

728x90
๋ฐ˜์‘ํ˜•

 

mysql ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๊ธฐ๋ก


ํ„ฐ๋ฏธ๋„์—์„œ node mysql-server.js ๋กœ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, 

์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค.

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

 

 

๋ถ„๋ช… ๋ชฝ๊ณ ๋””๋น„ ์“ธ๋•Œ๋Š” ์ž˜๋๋Š”๋ฐ..!!!

์ด ์˜ค๋ฅ˜๋Š” MySQL ์„œ๋ฒ„์˜ ์ธ์ฆ ๋ฐฉ์‹์ด ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ MySQL ํด๋ผ์ด์–ธํŠธ์—์„œ ์ง€์›๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•œ๋‹ค

 

MySQL 8.0 ์ด์ƒ์—์„œ๋Š” ๊ธฐ๋ณธ ์ธ์ฆ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด caching_sha2_password๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š”๋ฐ,
Node.js์˜ mysql ํŒจํ‚ค์ง€๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ mysql_native_password๋งŒ ์ง€์›ํ•œ๋‹ค๊ณ  ํ•จ


ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• 1 : mysql2 ํŒจํ‚ค์ง€ ์‚ฌ์šฉ

 

์ด ๋ฐฉ๋ฒ•์ด ์ œ์ผ ๊ฐ„ํŽธํ•˜๊ณ  ์ถ”์ฒœ๋˜๋Š” ๋ฐฉ์‹์ธ ๊ฒƒ ๊ฐ™๋‹ค.

 

1. mysql2 ์„ค์น˜

npm install mysql2

 

2. MySQL ์—ฐ๊ฒฐ ์ฝ”๋“œ์—์„œ mysql ๋Œ€์‹  mysql2๋ฅผ ์‚ฌ์šฉ

const mysql = require('mysql2'); // ์ด๊ฒƒ๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋จ

const connection = mysql.createConnection({
  host: 'localhost',
  user: 'your_username',
  password: 'your_password',
  database: 'your_database'
});

connection.connect((err) => {
  if (err) {
    console.error('Error connecting to MySQL:', err);
    return;
  }
  console.log('Connected to MySQL!');
});

 

 

 

์ด๋ ‡๊ฒŒ ์„ฑ๊ณต!


ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• 2 : ํ„ฐ๋ฏธ๋„์—์„œ ์ง์ ‘ ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐฉ์‹์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

์ด ๋ฐฉ๋ฒ•์€ ์•ˆํ•ด๋ด์„œ ๋˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฆ„..ใ…Ž.ใ…Ž

์ฐธ๊ณ ์šฉ์œผ๋กœ ๊ธฐ๋กํ•œ๋‹ค

 

ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;

 

728x90
๋ฐ˜์‘ํ˜•