• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

nodejs와 mysql 연동 에러

18.05.02 16:24 작성 조회수 22.9k

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 _

2018.08.06

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

10

조윤호님의 프로필

조윤호

2018.07.13

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

2022.01.06

이거 해도 안 돼요 ㅠㅠ

7

niobbam님의 프로필

niobbam

2020.06.26

mysql2를 사용하면 됩니다!

const mysql = require("mysql2");
유다영님의 프로필

유다영

2022.01.25

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

황주은님의 프로필

황주은

2023.01.07

2023.01.07 기준

이걸로 하니까 잘됨 ㅎㅎ

3

henry님의 프로필

henry

2020.12.30

저는 mysql에서

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

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

강의 내용대로 하면

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

입니다

1

박서영님의 프로필

박서영

2018.07.05

혹시 해결하셨나요? 해결하셨다면 공유 부탁드립니다 ㅠㅠ저도 연동이 안되네요 ㅠㅠ 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

장현우님의 프로필

장현우

2018.05.18

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

0

doodle님의 프로필

doodle

2022.03.12

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

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

 

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

Inseop Jeong님의 프로필

Inseop Jeong

2022.03.21

저도 안보여요.

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

2021.05.31

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

2021.05.12

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

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

0

박건형님의 프로필

박건형

2021.01.21

ramti_ 님 사랑합니다!

0

SeungHoon Lim님의 프로필

SeungHoon Lim

2020.11.17

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

0

dextto님의 프로필

dextto

2020.03.27

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

이 명령만 가지고는 안되서 

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

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

0

Honam Yu님의 프로필

Honam Yu

2020.02.13

감사합니다

0

Superpil님의 프로필

Superpil

2019.11.16

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

0

오지훈님의 프로필

오지훈

2018.12.14

ramti _ 님 감사합니다..

0

박정훈님의 프로필

박정훈

2018.11.06

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