--> .env파일로 Mysql에 접속 가능한 아이디, 비밀번호, 사용할 데이터베이스명 입력
*** .env파일 작성시 유의사항
- value를 지정할 때 ""로 문자열을 지정하지 말고 ''로 문자열을 지정할 것 (오류가 발생할 위험이 있음, 컴퓨터 마다 케이스 바이 케이스)
발생할 수 도 있는 오류 : Error: the string "ER_ACCESS_DENIED_ERROR: Access denied for user '"sprint"'@'localhost' (using password: YES)" was thrown, throw an Error
--> 여기서 만약 Mysql에 접속하는 아이디의 plugin이 caching_sha2_password일 경우 node.js와 연동에서 오류가 발생하게 된다.
에러 발생
Error: the string "ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client" was thrown, throw an Error :)
at processTicksAndRejections (node:internal/process/task_queues:94:5)
에러 해결
--> 연결하려는 계정의 plugin을 mysql_native_password으로 변경해야 한다.
--> 또는 계정에 비밀번호가 아예 설정되어 있지 않아도 연동에 문제가 발생 (반드시 계정 생성시 비밀번호를 지정해 줄것)
1. '%'로 ip로 지정, plugin은 mysql_native_password로 지정
create user 'username'@'%' identified with mysql_native_password by 'password';
2. 해당 아이디에 사용할 데이터베이스내에서 sql을 사용할 수 있도록 권한 부여
grant all privileges on useDB.* to 'username'@'%';
3. node.js와 Mysql연동시 정상적으로 연동이 된다.
참고할 블로그
[1]
nodejs 와 mysql 연동 에러 해결
mysql을 brew로 설치하고 nodejs와 mysql을 연동하게되면 아래와 같은 에러가 발생할수 있다.
velog.io
[2]
[MySQL 8.0] Nodejs 연동 시 에러 "Client does not support authentication protocol requested by server; consider upgrading My
야무지게 설치하고 Nodejs와 연동하려고 하니까 바로 뙇 에러가 나오네요...😭😭😭😭😂 1. 샘플 코드 사용한 코드는 아래와 같습니다. (예제 링크) // test-mysql.js 파일 var mysql = require('mysql'); var co
1mini2.tistory.com
[3] 오류 관련 해결 정보
https://java119.tistory.com/95
[MySQL || MariaDB] System,SQL ERROR 모음 원인 및 해결 총 정리
System 오류 1. ERROR 2002 : can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (2) (13) (111) 이 문제는 메시지 내용은 같으나, 뒤에 숫자에 따라 해결법이 다릅니다...
java119.tistory.com
'Database' 카테고리의 다른 글
Mysql root로 사용자 계정 권한부여시 오류 발생 해결방법 (0) | 2021.06.17 |
---|