인프런 커뮤니티 질문&답변

Chang yong Park님의 프로필 이미지
Chang yong Park

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

질문 있습니다 ㅠ mysql 관련이요 ㅠ

작성

·

153

0

수업에는 없는 내용이긴 한데 ㅠ

sequelize 안쓰고 mysql로 연동을 해보았는데요 ㅠ

로컬에서는 정상 작동 하는데 배포를 하면 mysql 연동이 안됩니다 ㅠ

코드는

// db>index.js

const mysql = require('mysql2')

module.exports = mysql.createConnection({
    // host: process.env.HOST || 'localhost',
    host: '127.0.0.1',
    user: 'root',
    password: process.env.DBPWD,
    database: process.env.SCHEMA,
    multipleStatements: true
})


// .env

DBPWD = "password"
SCHEMA = "usedb"
HOST = "127.0.0.1"


// routes > main.js

const router = express.Router();
const sql_con = require('../db/index');

router.get('/test', async (req, res) => {
    let testSql = `SELECT * FROM application_form`;
    // const results = await sql_con.promise().query(testSql)
    sql_con.query(testSql, (err, result) => {
        console.log(result);
    })
    res.send('testtestsetsetset')
})

 

로컬에서는 정상 작동 하는데 배포를 하면 mysql 연동이 안되는데 ㅠ

설정에 문제가 있는걸까요??

현재 3060포트 물려서 HTTPS 로 돌리고 있는데 그것때문에 그런걸까요?? ㅠ

혹시나 해서 host를 127.0.0.1:3306

이렇게 해봤는데도 데이터를 못읽습니다 ㅠ

어떤게 문제고 어떻게 해결해야할까요?? ㅠㅠㅠㅠ

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

배포를 어떻게 하신간가요? 서버를 구매하신건가요? 그 서버에는 mysql이 깔려있나요?

넵 ㅠ 강좌에 시퀄라이즈 config / model 등 DB 연결하는 부분만 위 내용대로 변경했고

나머지 배포방법은 똑같이 했습니다!! host가 문제인건지 SELECT * FROM table 하면

계속 indefined 가 출력됩니다 ㅠㅠㅠ

헐..... 시퀄라이즈 안했다고.....

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비번';

이거 했더니 되네요...... 번거롭게 죄송합니다...... ㅎㅎ

Chang yong Park님의 프로필 이미지
Chang yong Park

작성한 질문수

질문하기