개발/Javascript

node 개인프로젝트 mysql 서버 교체 삽질 일기

웹 개발자 권혁진 2022. 7. 9. 20:57

카페에서 개인 프로젝트 작업하다가 집에 있는 데스크탑으로도 작업할 수 있게 환경을 구성해야 할것 같다는 생각이 들어서

 

우선 소스코드는 git으로 관리중이니 문제없고..

 

데이터베이스 서버부터 노트북에 설치되어있는 mysql에서

 

 mysql 용 aws 라이트세일 인스턴스로 교체하는게 좋을것 같았다.

 

처음엔  NODE JS 와 OS가 같이 설치 되어 있는걸로 인스턴스를 생성해서 작업하다가 잘 안돼서 그냥 우분투 만 깔려있는걸로 다시 재생성해서 

 

작업했는데

 

3306 포트를 열어도 접속이 안되고  telnet 으로도 3306 포트 접근이 안되고 그래서

 

/etc/mysql/mysql.conf.d/mysqld.cnf

 

에 bind-address 에 127.0.0.1 -> 0.0.0.0 으로 수정해주고

 

서비스를 재시작 해주었더니 

 

우선 일단 telnet 으로 접속은 됨

 

허나 mysql 8.0 부턴 새로운 암호화 방식(sha2 방식의 암호화)를 사용중인데

 

Sequel pro 에선 sha2 방식의 암호화를 지원하지 않아서 

Authentication plugin 'caching_sha2_password' cannot be loaded

라는 오류가 난다.

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

 

이런식으로 계정의 암호화 방식을 mysql_native_password 로 바꿔주면 해결됨

 

Sequelize 에선 ETIMEDOUT 오류가 나서

 

"dialectOptions": {

      "options": {

        "requestTimeout": 3000

      }

    }

 

이런식으로 config.json 추가해서 타임아웃 제한 시간을 늘려줬더니 해결됨