• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 Express-mysql-session 이용하기

Express-mysql-session 이용하기

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #60241

    이해욱
    참가자
    const express =require('express');
    const app = express();
    const bodyParser= require('body-parser')
    app.use(bodyParser.urlencoded({extended: true})) 
    app.set('view engine', 'ejs');
    var passport = require('passport');
    var session = require("express-session");
    var MySQLStore = require('express-mysql-session')(session);
    app.use(
      session({
        secret: '1234DSFs@adfFER#1234!@#$asd',
        resave: false,
        saveUninitialized: true,
        store:new MySQLStore({
          host:'localhost',
          port:3306,
          user:'root',
          password:'***********,
          database:'moonserver'
        })
      })
    );
    app.use(passport.initialize());
    app.use(passport.session());
    const mysql = require('mysql2');
    const methodOverride = require('method-override')
    app.use(methodOverride('_method'))
    const connection = mysql.createConnection({
    host : 'localhost',  
    user : 'root',
    password : '***********',
    database : 'moonserver'
    });
    app.use('/public', express.static('public'))
    connection.connect(function(err) {
      if (err) {
        console.error('연결실패 :' + err.stack);
        return;
      }
      console.log('연결된듯');
    });
    
    이렇게 하면 moonserver db에 세션테이블이 생성되야하는데
    새로고침 또는 mysql 검색해봐도 세션이 안생기네요
    설정에서 오류 있는게있나요?
    
    오류 내용입니다.
    Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
        at Handshake.Sequence._packetToError (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
        at Handshake.ErrorPacket (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\sequences\Handshake.js:123:18)
        at Protocol._parsePacket (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Protocol.js:291:23)
        at Parser._parsePacket (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Parser.js:433:10)
        at Parser.write (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Parser.js:43:10)
        at Protocol.write (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Protocol.js:38:16)
        at Socket.<anonymous> (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Connection.js:88:28)
        at Socket.<anonymous> (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Connection.js:526:10)
        at Socket.emit (node:events:527:28)
        at addChunk (node:internal/streams/readable:315:12)
        --------------------
        at Protocol._enqueue (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Protocol.js:144:48)
        at Protocol.handshake (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Protocol.js:51:23)
        at PoolConnection.connect (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Connection.js:116:18)
        at Pool.getConnection (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Pool.js:48:16)
        at Pool.query (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Pool.js:202:8)    
        at MySQLStore.query (C:\Users\atolo\Desktop\server\node\node_modules\express-mysql-session\index.js:439:33)
        at MySQLStore.set (C:\Users\atolo\Desktop\server\node\node_modules\express-mysql-session\index.js:240:8)
        at Session.save (C:\Users\atolo\Desktop\server\node\node_modules\express-session\session\session.js:72:25)
        at Session.save (C:\Users\atolo\Desktop\server\node\node_modules\express-session\index.js:406:15)
        at ServerResponse.end (C:\Users\atolo\Desktop\server\node\node_modules\express-session\index.js:335:21)
    Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
        at Handshake.Sequence._packetToError (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
        at Handshake.ErrorPacket (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\sequences\Handshake.js:123:18)
        at Protocol._parsePacket (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Protocol.js:291:23)
        at Parser._parsePacket (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Parser.js:433:10)
        at Parser.write (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Parser.js:43:10)
        at Protocol.write (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Protocol.js:38:16)
        at Socket.<anonymous> (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Connection.js:88:28)
        at Socket.<anonymous> (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Connection.js:526:10)
        at Socket.emit (node:events:527:28)
        at addChunk (node:internal/streams/readable:315:12)
        --------------------
        at Protocol._enqueue (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Protocol.js:144:48)
        at Protocol.handshake (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\protocol\Protocol.js:51:23)
        at PoolConnection.connect (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Connection.js:116:18)
        at Pool.getConnection (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Pool.js:48:16)
        at Pool.query (C:\Users\atolo\Desktop\server\node\node_modules\mysql\lib\Pool.js:202:8)    
        at MySQLStore.query (C:\Users\atolo\Desktop\server\node\node_modules\express-mysql-session\index.js:439:33)
        at MySQLStore.get (C:\Users\atolo\Desktop\server\node\node_modules\express-mysql-session\index.js:162:8)
        at session (C:\Users\atolo\Desktop\server\node\node_modules\express-session\index.js:485:11)
        at Layer.handle [as handle_request] (C:\Users\atolo\Desktop\server\node\node_modules\express\lib\router\layer.js:95:5)
        at trim_prefix (C:\Users\atolo\Desktop\server\node\node_modules\express\lib\router\index.js:328:13)
    
    
    const mysql = require('mysql'); 대신에
    const mysql = require('mysql2');
    도 사용해보고 
    
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '********';도 해봤는데 안되네요
    
    #60271

    codingapple
    키 마스터
    검색하면 ALTER USER 어쩌구 뒤에 FLUSH PRIVILEGES; 도 실행해보라는군요
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠