error: er_not_supported_auth_mode: client does not support authentication protocol requested by server; consider upgrading mysql client
Node.js와 MySQL이 연동되지 않을때 발생하는 에러
대표적인 해결방법으론 MySQL 터미널에서 root의 plugin을
caching_sha2_password 에서 mysql_native_password 로 변경하는 것 등이 있지만
본문에선 기본적으로 MySQL과 Node.js가 평상시 정상적으로 연결이 될 때를 기준으로 서술함
초 - 간단한 해결 방법
//index.js -> 메인
const session = require("express-session");
...
dbConfig = require("./config/config");
const conn = dbConfig.init();
dbConfig.connect(conn);
const MySQLStore = require("express-mysql-session")(session);
...
const sessionStorage = new MySQLStore({}, dbConfig.init()); //Yes
//const sessionStorage = new MySQLStore(dbConfig.init()) //No
//=> 이렇게 입력해서 발생된 에러
...
store: sessionStorage,
//config/config.js -> DB 접근 설정
const mysql = require("mysql");
const dotenv = require("dotenv");
dotenv.config();
const dbInfo = {
host: process.env.HOST,
port: process.env.PORT,
user: process.env.USERNAME,
password: process.PASSWORD,
database: process.env.NAME,
};
...
module.exports = {
...
init: function () {
return mysql.createConnection(dbInfo);
},
...
}
Reference
반응형
'Project > Error Handling' 카테고리의 다른 글
네이버 SENS Service 문자인증 구현 에러 (5) | 2023.02.09 |
---|---|
기상천외한 PassPort 모듈 에러 (4) | 2023.02.09 |
Nodemailer 이미지 파일 경로 에러 (1) | 2023.01.26 |
Passport-google-oauth20 로그인 엑세스 차단 에러 (2) | 2023.01.18 |
Sequelize 마이그레이션 에러 (2) | 2023.01.18 |
댓글