• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

nodejs와 mysql 연동 에러

18.05.02 16:24 작성 조회수 16.5k

0

Connection.connect(); 를 추가한 후 저장하면

다음과 같은 에러가 뜹니다.

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

해결책을 검색해 다음을 입력해보니,

use mysql;

update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';

FLUSH PRIVILEGES;

다음과 같은 에러가 자꾸 나타나면서 해결을 못하고 있습니다.:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(''), plugin='mysql_native_password' where user='root'' at line 1

어떻게 하면 mysql 연동 에러를 해결할 수 있을까요? 도움주시면 정말 감사하겠습니다. ㅜㅜ

답변 16

·

답변을 작성해보세요.

24

ramti _님의 프로필

ramti _

18.08.06 13:40

mysql installer > server 옆에 reconfigure > Auth 설정가서 legacy 선택 > 완료 하면 잘 됩니다~

8

휴식중인 도마뱀님의 프로필

휴식중인 도마뱀

18.07.13 16:33

https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘사용할패스워드’

뭔가 이렇게 하니까 됐어요~~

Bruce Han님의 프로필

Bruce Han

22.01.06 01:19

이거 해도 안 돼요 ㅠㅠ

6

niobbam님의 프로필

niobbam

20.06.26 22:11

mysql2를 사용하면 됩니다!

const mysql = require("mysql2");
휴식중인 오리님의 프로필

휴식중인 오리

22.01.25 02:29

맥북m1 인데 mysql2 하니까 잘되네요. 감사합니다. 사람 한 명 살리셨어요

황주은님의 프로필

황주은

23.01.07 13:57

2023.01.07 기준

이걸로 하니까 잘됨 ㅎㅎ

3

henry님의 프로필

henry

20.12.30 01:35

저는 mysql에서

ALTER USER '[MYSQL 아이디]'@'[MYSQL 주소]' IDENTIFIED WITH mysql_native_password BY '[MYSQL 비밀번호]';

입력하고 진행해서 해결했습니다

강의 내용대로 하면

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'asdf1234';

입니다

1

휴식중인 불가사리님의 프로필

휴식중인 불가사리

18.07.05 05:43

혹시 해결하셨나요? 해결하셨다면 공유 부탁드립니다 ㅠㅠ저도 연동이 안되네요 ㅠㅠ s
--> https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '사용할패스워드'

1

장현우님의 프로필

장현우

18.05.18 00:07

혹시 Mysql version이 8 아닌가요? 저는 8 설치했었는데 그 에러가 떴었거든요. 아예 모두 지운 후에 새롭게 설치하시고 Authentication Method 설정 단계에서 recommended 설정 말고 legacy 설정하니까 에러가 사라지더라고요 혹시 모르니 참고하세요! 제 생각에는 아예 지울 필요 없이 msi 파일 들어가면 reconfiguration 할 수 있는데 거기서 바꿔주면 될 듯 싶습니다.

0

motokrzr11님의 프로필

motokrzr11

22.03.12 18:44

저도 저 문제를 해결 못하고 있는데, 

ramti_ 님이 어떤 답을 다셨나요..??  

 

지금 댓글이 없는것 같네요 ㅠㅠ

Inseop Jeong님의 프로필

Inseop Jeong

22.03.21 11:41

저도 안보여요.

ALTER USER '[MYSQL 아이디]'@'[MYSQL 주소]' IDENTIFIED WITH mysql_native_password BY '[MYSQL 비밀번호]';

따로 설정을 건드리신게 전혀 없으시다면 위 명령어를 기준으로 작업하시면 될 것 같습니다.

저의 경우에는

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

이렇게 해서 해결했습니다.

 

다른분들 어떻게 하셨길래 된건지 궁금하네요..

0

rkdgh98님의 프로필

rkdgh98

21.05.31 22:40

ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_! ramti_!  감사합니다..

0

PennyBlack2008님의 프로필

PennyBlack2008

21.05.12 15:21

저는 귀찮아서 mysql 비밀번호를 설정을 빈칸으로 했고, app.js 에 있는 connection 블록에서 비밀번호를 없앴어요. 어짜피 연습하는 거라 빨리빨리 넘어가려고요.

var connection = mysql.createConnection({
	host : 'localhost',
	port : 3306,
	user : 'root',
	database : 'jsman'
	// 비밀번호 여기에 설정해야함.
});

0

박건형님의 프로필

박건형

21.01.21 16:17

ramti_ 님 사랑합니다!

0

SeungHoon Lim님의 프로필

SeungHoon Lim

20.11.17 13:23

ramti_ 님 정말 감사합니다 .... ㅠㅠ

0

dextto님의 프로필

dextto

20.03.27 05:29

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '사용할패스워드';

이 명령만 가지고는 안되서 

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '사용할패스워드';

도 함께 해 줬더니 되는군요.

0

Honam Yu님의 프로필

Honam Yu

20.02.13 21:42

감사합니다

0

SuperPil님의 프로필

SuperPil

19.11.16 12:18

ramti _  너무 너무 감사합니다.. 눈물이 다 나네요...

0

오지훈님의 프로필

오지훈

18.12.14 12:02

ramti _ 님 감사합니다..

0

휴식중인 코뿔소님의 프로필

휴식중인 코뿔소

18.11.06 13:55

ramti님 말씀대로 하니까 해결했네요. 고생하고 있었는데 감사합니다.