강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của yjna23168775
yjna23168775

câu hỏi đã được viết

Hiểu JavaScript phụ trợ thông qua phát triển web Node.js

Cài đặt tích hợp MySQL

nodejs와 mysql 연동 에러

Viết

·

26K

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 연동 에러를 해결할 수 있을까요? 도움주시면 정말 감사하겠습니다. ㅜㅜ

expressjavascriptnodejs

Câu trả lời 15

24

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

10

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 ‘사용할패스워드’

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

이거 해도 안 돼요 ㅠㅠ

7

mysql2를 사용하면 됩니다!

const mysql = require("mysql2");

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

2023.01.07 기준

이걸로 하니까 잘됨 ㅎㅎ

3

저는 mysql에서

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

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

강의 내용대로 하면

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

입니다

1

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

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

0

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

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

 

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

저도 안보여요.

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

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

저의 경우에는

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

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

 

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

0

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

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

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

0

ramti_ 님 사랑합니다!

0

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

0

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

이 명령만 가지고는 안되서 

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

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

0

감사합니다

0

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

0

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

Hình ảnh hồ sơ của yjna23168775
yjna23168775

câu hỏi đã được viết

Đặt câu hỏi