2020.코딩일지
[DB]im-sprint-cmarket-database:test파일안돌고뭐해에러[BEB 6th][nodemon] app crashed - waiting for file changes before starting... 본문
[DB]im-sprint-cmarket-database:test파일안돌고뭐해에러[BEB 6th][nodemon] app crashed - waiting for file changes before starting...
개발하는라푼젤 2022. 8. 9. 21:16코드스테이츠 블록체인 부트캠프 6기
아키텍처, 구조분리 하여 3-TIER
역할분담. 계층간 문제가 전달되지않게,
생태계성장AJAX:서버렌더링뿐만아니라 클라이언트에서도 렌더링이 가능하고, 비동기방식 호출도 가능하고,
페이지단위아닌 SPA와 구글크롬의 발전!
서버를 구현하는 2가지 타입: 스프링은 아키텍쳐가 정해져있음 vs. Express는 자유로운편이라 정답이없는영역..
이 프로그램을 통해서 어떤 문제를 해결할 것인가?(방식-기능들이모여 비즈니스로직->컨트롤러가됨.)
im-sprint-Cmarket Database에서는
${} ‘SQL injection’ 보안상문제가 있기 때문에 params롸 받아 (?,?)prepared로 적용하는 것이 좋다.
git clone 후,
package.json파일이 server폴더안에있기 때문에
# /server위치에서 `npm install` 하기.
#터미널아무위치가능
$ mysql.server start //Starting MySQL SUCCESS!
$ mysql -u root -p //mysql접속해서
mysql> CREATE DATABASE cmarket; //cmarket데이터베이스 생성
mysql> show databases; //데이터베이스확인 (cmarket있는지)
mysql> exit; //나와주세요
# /server위치로 들어가서
$ mysql -u root -p < server/schema.sql -D cmarket //테이블생성
$ mysql -u root -p < server/seed.sql -D cmarket //레코드입력! 한글부분이있어서
$ show variables like ‘c%’; //필요하다면 속성확인
$ npm test
<문제없이 돌아야하는데 왜 안도는거!?!?!?!>
[nodemon] app crashed - waiting for file changes before starting...
Error: connect ECONNREFUSED ::1:3306
Uncaught Error: connect ECONNREFUSED ::1:3306
node.js문제이며 이것해결하기위해서 별다른 일을 할 수 없다카더라…아..앙데...
.env에 패스워드만입력해도되는이유 : server/config/config.js에 이미 설정을 해놓았기 때문에.
#시도1) server/config/config.js
localhost부분을 127.0.0.1 로 수정해봤지만(어제의좋은기억) 실패.
#시도2) mysql --verbose --help | grep my.cnf
vi /opt/homebrew/etc/my.cnf 으로 수정하기 (https://abbo.tistory.com/241)
i로 수정들어가서 127.0.0.1부분을 0.0.0.0 (전체공개)로 수정하고 ‘esc’키 :wq종료
#시도3) $ mysql -u root -p
mysql> SELECT Host,User, plugin, authentication_string FROM mysql.user; //로확인
mysql > create user 'username'@'%' identified by '!@#*()!@#asdqwe'; //계정생성
#시도4) node 버전 변경..했더니...
되던 brew services start mysql[MySQL 서비스 시작]도 안됨...ㅠ 이거하지마세여ㅕㅕ
#시도5) //database이름 cmarket을 넣어 권한있는 관리자를 만들었다!
mysql> GRANT ALL PRIVILEGES ON cmarket.* TO 'root'@'localhost';
mysql> FLUSH PRIVILEGES;
오전부터 오후까지 삽질했다리.....🫠
의미있는 시간이였길 바라며 정리해두는 글.
#시도6)
그래서 결국은 [MacOS] 사용중인포트찾아서,죽이기
혹시 지금 4000포트에 돌아가고있는 서버가 있는지 확인. `lsof -i :4000`
PID 32933 너를 죽여버리겠.... `kill -9 32933`
서버를 죽였습니다.
..이렇게 해서 해결된 날이 있고 또 몇일뒤 하니 또 똑같은 에러가 나왔는데 왜 해결이 안되누ㅜㅜ
/server/들어가서 `npm start` 노드익스프레스 서버ON & `mysql.server start` 데이터베이스ON
하고 npm test하면 또 Error: connect ECONNREFUSED ::1:3306 씨..씨마켓나한테왜그래ㅐㅐㅜ
#시도7)
mysql을 연결해주는 server/spec/server-spec.js에 config.js와 같이 `host: "127.0.0.1"`을 추가 ! 했더니
테스트파일이 돌았습니다아아아ㅏㅏㅏ!!!!!!!앞으로 config파일은 다 찾아볼듯ㅋㅋ (아.. 이제 진짜 시작이네ㅔ.. 핳)
테스트마다 다르긴한데... 이번 npm test시, 서버 두개 모두 켜져있어야함.
/server/들어가서 `npm start` 노드익스프레스 서버ON & `mysql.server start` 데이터베이스ON
'WebServer&DB&CTI' 카테고리의 다른 글
[DB]SQL Advanced-[BEB 6th] (0) | 2022.08.09 |
---|---|
[DB]im-sprint-cmarket-database/Cmarket ServerAPI[#MVC패턴][BEB 6th] (0) | 2022.08.09 |
[데이터베이스]MySQL사용 (macOS) (0) | 2022.08.08 |
basic-server(2)express로 refactoring / nodemon을써보자 (0) | 2022.08.05 |
basic-server(1) (0) | 2022.08.05 |