Node.js - MySQL

실습준비

수업소개

실습에 참여하는 방법을 소개합니다. 

 

 

 

수업내용

 

 

 

실습코드

이 수업은 WEB2 - Node.js과 DATABASE2 - MySQL을 기반으로 하고 있습니다. 이를 위한 실습코드가 필요합니다. 아래 주소에 준비해 두었습니다. 

 

 

 

데이터베이스 셋팅

데이터베이스 서버에 접속합니다. 

mysql -uroot -p

 

 

opentutorials 데이터베이스를 생성하고 선택합니다.

CREATE DATABASE opentutorials;
USE opentutorials;

 

 

아래 MySQL 코드를 붙여넣기 해서 실행합니다. 

--
-- Table structure for table `author`
--
 
 
CREATE TABLE `author` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `profile` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
);
 
--
-- Dumping data for table `author`
--
 
INSERT INTO `author` VALUES (1,'egoing','developer');
INSERT INTO `author` VALUES (2,'duru','database administrator');
INSERT INTO `author` VALUES (3,'taeho','data scientist, developer');
 
--
-- Table structure for table `topic`
--
 
CREATE TABLE `topic` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(30) NOT NULL,
  `description` text,
  `created` datetime NOT NULL,
  `author_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
);
 
--
-- Dumping data for table `topic`
--
 
INSERT INTO `topic` VALUES (1,'MySQL','MySQL is...','2018-01-01 12:10:11',1);
INSERT INTO `topic` VALUES (2,'Oracle','Oracle is ...','2018-01-03 13:01:10',1);
INSERT INTO `topic` VALUES (3,'SQL Server','SQL Server is ...','2018-01-20 11:01:10',2);
INSERT INTO `topic` VALUES (4,'PostgreSQL','PostgreSQL is ...','2018-01-23 01:03:03',3);
INSERT INTO `topic` VALUES (5,'MongoDB','MongoDB is ...','2018-01-30 12:31:03',1);

댓글

댓글 본문
  1. aminora
    Atom 에디터 터미널에서 mysql이 실행되지 않을경우는 다음과 같습니다
    1. mysql 이 설치되지 않을경우 -> (cmd(관리자실행) -> mysql -u root -p -> 패스워드 입력후 mysql>이 정상실행되는지 확인

    2. Atom 에디터를 "관리자 실행"으로 실행하지 않을경우
    저같은 경우는 2번이였습니다
  2. hanel_
    21.3.20
  3. chimhyangmoo
    21.03.15
  4. jeisyoon
    2021.03.07 node.js MySQL 준비 - OK
  5. 마아앙
    2021.02.16
  6. 마준
    와우 감사합니다.
    근데 이거해도 안될때있는데 코딩꿈나뮤님말대로 관리자권한으로 실행하니까 되네요.
    대화보기
    • 생활둘기
      2021 1 2
    • 김지호
      21 01 02
    • Meaya Sohn
      환경 :윈도우
      문제: VS 코드의 terminal 에서 mysql 실행 안되는 문제 있으신 분
      (window cmd 에서는 되는데 VS code terminal 에서는 아래 error 나옴)

      mysql : The term 'mysql' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the
      name, or if a path was included, verify that the path is correct and try again.
      At line:1 char:1
      + mysql -uroot -p
      + ~~~~~
      + CategoryInfo : ObjectNotFound: (mysql:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

      ==========>
      문제 해결
      extension 설치 : SQL Server (mssql)
      실행 명령: .\mysql -uroot -p [기존 명령어 앞에 .\ 을 붙여서 실행]
      이렇게 2개 조합으로 일단 연결은 했어요.
    • 콜라
      20201021 완료
    • JuicyFresh
      node main.js 를 치면
      topic.js에서 제일 첫줄에 불러오고 있는 db폴더가 없다고 나오는데 뭐가 문제일까요?

      npm install시에 아래와 같은 warn 문구가 뜨긴 했지만 큰 문제 아니라고 생각했는데요.
      ------------------------------------------------------
      npm WARN web2-nodejs@1.0.0 No description
      audited 38 packages in 1.018s
      found 0 vulnerabilities
      ------------------------------------------------------

      node main.js를 치면 아래와 같은 문가가 뜨면서 실패 합니다.
      ------------------------------------
      - D:\프로그래밍\nodejs_mysql\lib\topic.js
      - D:\프로그래밍\nodejs_mysql\main.js
      [90m at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)[39m
      [90m at Function.Module._load (internal/modules/cjs/loader.js:841:27)[39m
      [90m at Module.require (internal/modules/cjs/loader.js:1025:19)[39m
      [90m at require (internal/modules/cjs/helpers.js:72:18)[39m
      at Object.<anonymous> (D:\업무\프로그래밍\nodejs_mysql\lib\topic.js:1:10)
      [90m at Module._compile (internal/modules/cjs/loader.js:1137:30)[39m
      [90m at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)[39m
      [90m at Module.load (internal/modules/cjs/loader.js:985:32)[39m
      [90m at Function.Module._load (internal/modules/cjs/loader.js:878:14)[39m
      [90m at Module.require (internal/modules/cjs/loader.js:1025:19)[39m {
      code: [32m'MODULE_NOT_FOUND'[39m,
      requireStack: [
      [32m'D:\\업무\\프로그래밍\\nodejs_mysql\\lib\\topic.js'[39m,
      [32m'D:\\업무\\프로그래밍\\nodejs_mysql\\main.js'[39m
      ]
    • 암말
      오오 안되고 있었는데 감사합니다!
      대화보기
      • 코딩꿈나뮤
        윈도우 pm2 start main.js --watch 보안문제는 비주얼코드 껏다가 우클릭후 관리자권한으로 실행하고
        미댈님 댓글대로 하니까 너무 스무스하게 잘되네여 ㅇㅅㅇ
      • 미댈
        혹시라도 pm2 start main.js --watch 에서 오류뜨시는 분이 계신다면
        PowerShell의 정책이 어떤걸로 되어 있는지 확인해보시기 바랍니다.
        터미널에 Get-ExecutionPolicy 라고 입력후 엔터하셨을때 Restricted 라고 나오면
        Set-ExecutionPolicy Unrestricted 을 입력/엔터하신후
        pm2 start main.js --watch 을 다시 해보시면 됩니다.
      • 준바이
        다 되는 것 같은데 자꾸 오류뜨시는 분들은 'author' 'id' 'name' 겉에 '을 제거 해주면 됩니다.
      • 준바이
        윈도우 환경에서 유닉스 계열의 인터페이스인 git bash를 사용하면 자잘한 문제가 오류를 겪을 가능성이 있다고 하네요. vs code를 사용하며 command interface로 git bash를 문제없이 연결해보려다 시간이 너무 가는 것 같아 나중을 기약하고 윈도우 cmd로 사용하렵니다
      • 준바이
        감사합니다
      • samachun99
        atom 사용하다 vscode 로 갈아 탓는데
        1. CREATE TABLE `author` 생성
        2. 데이터값 입력
        3. CREATE TABLE `topic` 생성
        4. 데이터값 입력
        여기까지는 되는데
        shell 은 powershell, cmd 로 해보아도 안되네요 MySQL 연동이 어렵네요
        무엇을 잘못했지 .... 도와주세요
      • import.위드
        아톰으로 작업하시다가 이 강의로 넘어오신분들 참고하시라고

        작업 환경 셋팅 및 node.js와 mySQL 연동 방법 정리해 보았습니다!

        혼자하기 어려우신분들께 도움이 되었으면 좋겠네요~ :]

        https://blog.naver.com......613
      • import.위드
        만약 붙여넣기해도 실행이 안된다면,

        코드를 하나하나 실행하면 문제없이 작동합니다.

        1. CREATE TABLE `author` 생성
        2. 데이터값 입력
        3. CREATE TABLE `topic` 생성
        4. 데이터값 입력
      • ㅂㅈㄷ
        egoing님 폴더를 다운받아도 node_module이라는 폴더는 없더군요.. 뭐가문제이죠?ㅜ
      • 소월
        돈 주고 다른거 듣는것보다 이고잉님 수업 듣는게 훨씬 이익입니다.. 들어보시면 알꺼에요
        대화보기
        • ㅁㄴㅇㄹ
          본인 못하시는 것 갖고 무료로 재능기부하시는 분 욕하지 마세요.
          잘 배우시는 분들도 계신데 개인적으로 문제 생기시는 것 같고 이런 댓글 다시면 안되죠.
          대화보기
          • ㅇㅁㄹㅁㅇㄹ123
            왜요??
            대화보기
            • 개 싀
              돈주고 다른거 듣는게 여러모로 덜 손해봅니다. 진짜 개빡친다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
            • codinginpain
              잔디심기
            • 예진
              mysql : 'mysql' 용어가 cmdlet, 함수, 스크립트 파일 또
              는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다.
              이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올
              바른지 검증한 다음 다시 시도하십시오.

              npm install --save mysql을 했는데도, 이런식으로 오류가 뜹니다. 어떻게 해결하는 것이 좋을까요?
            • 굼벵이
              완료
            • CronEB
              done
            • 키리모찌
              npm install을 치면 오류가 생기는데 왜 그럴까요?
              npm ERR! cb() never called!

              npm ERR! This is an error with npm itself. Please report this error at:
              npm ERR! <https://npm.community>

              npm ERR! A complete log of this run can be found in:
              npm ERR! /root/.npm/_logs/2019-04-22T22_17_48_342Z-debug.log
            • 권문수
              감사합니다
            • 레뷔
              수업 듣고 있는 중인데 관련파일을 git로 clone해서 실행시키면 node가 실행되지 않는 에러가 발생하네요 ㅜㅜ (loader.js에서 모듈을 찾지 못하는) 30분 헤매다가 그냥 파일 다운로드해서 실행시키니 잘 됬어요. 혹시 헤매시는 분들 참고하시길 바랍니다.
            • jo_onc
              감사합니다~
            • moon
              감사합니다.
            • 연수아빠
              수강 완료!!
            버전 관리
            egoing
            현재 버전
            선택 버전
            graphittie 자세히 보기