Server Side JavaScript

MySQL 소개 및 기본 사용법

MySQL 소개

MySQL 설치 - 맥 (OSX)

MySQL 설치 - 리눅스 (ubuntu)

MySQL 설치 - 윈도우

MySQL 구조

MySQL 사용하기

MySQL - UPDATE & DELETE

node-mysql 1 : 접속

node-mysql 2 : SELECT & INSERT

node-mysql 3 : UPDATE & DELETE

예제

MySQL JavaScript로 제어하기 수업의 예제 

데이터베이스 보기

show databases;

데이터베이스 생성

CREATE DATABASE o2 CHARACTER SET utf8 COLLATE utf8_general_ci;

데이터베이스 선택

use o2;

테이블 생성

CREATE TABLE `topic` (
`id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `description` text NOT NULL,
  `author` varchar(30) NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

생성된 테이블 확인

show tables;

데이터 삽입

INSERT INTO topic (title, description, author) VALUES('JavaScript','Computer language for web.', 'egoing');
INSERT INTO topic (title, description, author) VALUES('NPM','Package manager', 'leezche');

 

댓글

댓글 본문
  1. 위의 영상부터 내려오면서 보고 있는데 node mysql 접속 이라는 영상 도입에서 막혔어요.

    위의 영상에 설명 안되어있는, 별개의 배경 지식이 필요한건가요? 자바 스크립트는 뭐죠... 갑자기 모르겠어요.
  2. 굼벵이
    완료
  3. 이얍
    플러그인을 변경하라는게 무슨 소린가여?
    대화보기
    • aws2
      너무감사합니다

      aws님 덕분에 해결했어요
      대화보기
      • 아키
        안녕하세요!!
        혹시 진행 중 mySQL 버전 변경으로 인해 아래와 같은 Error가 발생시
        Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client


        이렇게 플러그인을 변경하면 되더라고용!!!
        ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

        이런 과정에 문제가 혹시 있다면 댓글 부탁드려요!! ^^
      • Error: ER_HOST_NOT_PRIVILEGED: Host '127.0.0.1' is not allowed to connect to this MySQL server

        이 문장으로 시작하는 오류가 났는데 이렇게 해결했습니다.

        출처는 https://zetawiki.com......%A9 여기구요

        외부에서 접속한 것처럼 인식하는것 같네요. local에서만 접속하게 되어있다는데 아직 무슨말인줄은 모릅니다...
        mysql>SELECT Host,User,authentication_string FROM mysql.user; 해당 sql문으로 실행을 해보면 root는 local에서만 할 수 있다고 나옵니다.

        모든ip를 허용하게 하는 sql문
        mysql>INSERT INTO mysql.user (host,user,authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES ('%','root',password('패스워드'),'','','');

        mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
        mysql>FLUSH PRIVILEGES;

        도움이 되었으면 합니다.
      • 0809 fin
      • wjdgus3608
        throw err; // Rethrow non-MySQL errors
        ^

        Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'heathercoraje'@'127.0.0.1' (using password: YES)

        포트번호 추가해도
        이런 오류 뜨시는 분들

        mysql에
        use mysql;
        'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
        (password 부분을 비밀번호로 바꿈)
        하니 저는 해결 됬네요 초보 개발자라 도움이 될지는 모르겠습니다!!
      • wooky92
        var conn = mysql.createConnection({
        host : 'localhost',
        user : 'root',
        password : '1111',
        port : '포트넘버'
        database : 'o2'
        })


        포트넘버 추가하시면 오류안뜹니다. 밑에분이 댓글에 남겨주신 내용이에요
        대화보기
        • heathercoraje
          안녕하세요 이고잉님,
          수업을 잘따라가면서 msql connection 부분에서 terminal 에서 node database_mysql.js 를 실행하면
          $ node database_mysql.js

          /Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Parser.js:80
          throw err; // Rethrow non-MySQL errors
          ^

          Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'heathercoraje'@'127.0.0.1' (using password: YES)
          at Handshake.Sequence._packetToError (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/sequences/Sequence.js:52:14)
          at Handshake.ErrorPacket (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/sequences/Handshake.js:130:18)
          at Protocol._parsePacket (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:279:23)
          at Parser.write (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Parser.js:76:12)
          at Protocol.write (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:39:16)
          at Socket.<anonymous> (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/Connection.js:103:28)
          at emitOne (events.js:116:13)
          at Socket.emit (events.js:211:7)
          at addChunk (_stream_readable.js:263:12)
          at readableAddChunk (_stream_readable.js:250:11)
          --------------------
          at Protocol._enqueue (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:145:48)
          at Protocol.handshake (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:52:23)
          at Connection.connect (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/Connection.js:130:18)
          at Object.<anonymous> (/Users/heathercoraje/Desktop/project/node-basic/database_mysql.js:9:12)
          at Module._compile (module.js:652:30)
          at Object.Module._extensions..js (module.js:663:10)
          at Module.load (module.js:565:32)
          at tryModuleLoad (module.js:505:12)
          at Function.Module._load (module.js:497:3)
          at Function.Module.runMain (module.js:693:10)

          heathercoraje at Heuikyungs-MacBook-Pro in ~/Desktop/project/node-basic on db/connection [!]
          $ node database_mysql.js
          /Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Parser.js:80
          throw err; // Rethrow non-MySQL errors
          ^

          Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'heathercoraje'@'127.0.0.1' (using password: YES)
          at Handshake.Sequence._packetToError (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/sequences/Sequence.js:52:14)
          at Handshake.ErrorPacket (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/sequences/Handshake.js:130:18)
          at Protocol._parsePacket (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:279:23)
          at Parser.write (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Parser.js:76:12)
          at Protocol.write (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:39:16)
          at Socket.<anonymous> (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/Connection.js:103:28)
          at emitOne (events.js:116:13)
          at Socket.emit (events.js:211:7)
          at addChunk (_stream_readable.js:263:12)
          at readableAddChunk (_stream_readable.js:250:11)
          --------------------
          at Protocol._enqueue (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:145:48)
          at Protocol.handshake (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:52:23)
          at Connection.connect (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/Connection.js:130:18)
          at Object.<anonymous> (/Users/heathercoraje/Desktop/project/node-basic/database_mysql.js:9:12)
          at Module._compile (module.js:652:30)
          at Object.Module._extensions..js (module.js:663:10)
          at Module.load (module.js:565:32)
          at tryModuleLoad (module.js:505:12)
          at Function.Module._load (module.js:497:3)
          at Function.Module.runMain (module.js:693:10)

          heathercoraje at Heuikyungs-MacBook-Pro in ~/Desktop/project/node-basic on db/connection [!]
          $ ls
          README.md data node_modules package.json
          app_file.js database_mysql.js package-lock.json views_file

          heathercoraje at Heuikyungs-MacBook-Pro in ~/Desktop/project/node-basic on db/connection [!]
          $ node database_mysql.js
          /Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Parser.js:80
          throw err; // Rethrow non-MySQL errors
          ^

          Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'heathercoraje'@'127.0.0.1' (using password: YES)
          at Handshake.Sequence._packetToError (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/sequences/Sequence.js:52:14)
          at Handshake.ErrorPacket (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/sequences/Handshake.js:130:18)
          at Protocol._parsePacket (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:279:23)
          at Parser.write (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Parser.js:76:12)
          at Protocol.write (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:39:16)
          at Socket.<anonymous> (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/Connection.js:103:28)
          at emitOne (events.js:116:13)
          at Socket.emit (events.js:211:7)
          at addChunk (_stream_readable.js:263:12)
          at readableAddChunk (_stream_readable.js:250:11)
          --------------------
          at Protocol._enqueue (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:145:48)
          at Protocol.handshake (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Protocol.js:52:23)
          at Connection.connect (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/Connection.js:130:18)
          at Object.<anonymous> (/Users/heathercoraje/Desktop/project/node-basic/database_mysql.js:9:12)
          at Module._compile (module.js:652:30)
          at Object.Module._extensions..js (module.js:663:10)
          at Module.load (module.js:565:32)
          at tryModuleLoad (module.js:505:12)
          at Function.Module._load (module.js:497:3)
          at Function.Module.runMain (module.js:693:10)

          heathercoraje at Heuikyungs-MacBook-Pro in ~/Desktop/project/node-basic on db/connection [!]
          $ node database_mysql.js

          /Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/Parser.js:80
          throw err; // Rethrow non-MySQL errors
          ^

          Error: ER_DBACCESS_DENIED_ERROR: Access denied for user 'root'@'127.0.0.1' to database 'o2'
          at Handshake.Sequence._packetToError (/Users/heathercoraje/Desktop/project/node-basic/node_modules/mysql/lib/protocol/sequences/Sequence.js:52:14)

          이런 에러가 쓰는데, connection 에 보내는 object에 들어가는 username 과 password로 /bin/.mysql 에 들어가서 로그인을 할때는 잘되는데 node database_mysql.js에서는 자꾸 denied가 되네요. 도와주세요 T_T
        • 잘봤습니다 ㅎㅎ
        • 안녕하세요. 며칠간 검색해 보다가 도저히 못찾겠어서 질문 드립니다...ㅠㅠ
          js를 각각 기능별로 따로따로 해놓는 작업을 하려하고 있습니다.
          dbConnect.js(mysql로 연결하는 js)에서 원하는 쿼리문으로 데이터를 select한 데이터를
          다른 js파일에서 사용하고자 합니다.
          dbconnect는 mysql로 connect만하고 다른 js파일에서 쿼리문을 작성하고 처리하는것을 하고자 하는데
          방법이 있을까요
        • Plei
          module.js:540
          throw err;
          ^
          에러나시는 분들은 해당 js 파일이 있는 폴더의 node_modules 폴더 안에 node-mysql 또는 mysql 폴더(라이브러리)가 설치되지 않은 분들입니다. 설치시에 -g 플래그 없이 --save 플래그만 넣고 node-mysql이나 mysql을 설치해보시기 바랍니다.
        • ㅗㅗ
          애미뒤진 osX는 뭐 되는게 하나도 없네
        • 시간이금이다
          저도
          module.js:540
          throw err;
          ^
          이 에러납니다.. 많은분들이 이 에러 나는데
          하루빨리 해결책좀 올려주십셔 ㅠㅠ
        • 얌돌
          npm install mysql --save

          하면됩니다
          대화보기
          • 가비앙
            C:\Users\Admin\dev\js\serverside_javascript>node database_mysql;
            module.js:540
            throw err;
            ^

            Error: Cannot find module 'C:\Users\Admin\dev\js\serverside_javascript\database_mysql;'
            at Function.Module._resolveFilename (module.js:538:15)
            at Function.Module._load (module.js:468:25)
            at Function.Module.runMain (module.js:684:10)
            at startup (bootstrap_node.js:187:16)
            at bootstrap_node.js:608:3


            이 에러 어떻게 해결해야 하나요?
          • 박인호
            1-16
            수강완료.
            감사합니다.
          • Byungsoo Kim
            감사합니다.
          • 열정을가진
            node실행하면 title이 나와야하는거 같은데....우째 뭐가문제일까요?

            var sql = 'SELECT * FROM topic';
            conn.query(sql, function(error, results, fields){
            if(error){
            console.log(error);
            }else{
            for(var i=0; i<results.length; i++){
            console.log(results[i].title);
            }
            }
            });
            conn.end();
          • sSll바버미니llSs
            고맙습니다~
            대화보기
            • 컴맹
              node database_mysql.js
              실행하면 처음엔 잘 접속되어있는듯하다가 30초 정도있다가 아래와 같은 메세지가 뜨면서 나와집니다.

              { Error: Connection lost: The server closed the connection.
              at Protocol.end (C:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:109:13)
              at Socket.<anonymous> (C:\nodejs\node_modules\mysql\lib\Connection.js:109:28)
              at emitNone (events.js:91:20)
              at Socket.emit (events.js:185:7)
              at endReadableNT (_stream_readable.js:974:12)
              at _combinedTickCallback (internal/process/next_tick.js:74:11)
              at process._tickCallback (internal/process/next_tick.js:98:9)
              --------------------
              at Protocol._enqueue (C:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:141:48)
              at Protocol.handshake (C:\nodejs\node_modules\mysql\lib\protocol\Protocol.js:52:41)
              at Connection.connect (C:\nodejs\node_modules\mysql\lib\Connection.js:130:18)
              at Object.<anonymous> (C:\nodejs\database_mysql.js:10:6)
              at Module._compile (module.js:570:32)
              at Object.Module._extensions..js (module.js:579:10)
              at Module.load (module.js:487:32)
              at tryModuleLoad (module.js:446:12)
              at Function.Module._load (module.js:438:3)
              at Module.runMain (module.js:604:10) fatal: true, code: 'PROTOCOL_CONNECTION_LOST' }

              해결법은 모르겠네요 ㅠ
            • 딴따라
              다 설치하고 따라하는데 에러가 나서 아래분들 글도 보고 여러가지 방법을 찾아봤는데 저는 var conn 에 제가 사용하는 mysql port 값을 넣으니 제대로 나오네요. 킁.
              var conn = mysql.createConnection({
              host : 'localhost',
              user : 'root',
              password : '1111',
              port : '포트넘버'
              database : 'o2'
              });
              언제나 잘보고 있습니다. 감사합니다.
            • 다 설치하고 했는데 unknown database 라고 나오신분 계신가요 ... ㅠㅠㅠ 더이상 진행을 못하구 있어요 ㅠㅠ
            • fallback
              아직 해결하지 못하셨으면...

              패키지 이름이 `node-mysql`에서 `mysql`로 변경되었습니다.
              * github site도 변경되었습니다. https://github.com......sql.

              * 윈도우에서 설치할 때, 아래 같은 에러가 발생하면, node-gym 사이트에 가시면, 해결책이 나와있습니다. mysql을 설치할 때, 호스트 환경에 따라 무언가를 다시 빌드해야 하나봅니다.
              [에러]
              MSBUILD : error MSB3428: Visual C++ 구성 요소 "VCBuild.exe"을(를) 로드할 수 없습니다. 이 문제를 해결하려면 1) .NET Framework 2.0 SDK를 설치하거나, 2) Microsoft Visual Studio 2005를 설치하거나, 3) 해당 구성 요소 가 다른 위치에 설치되어 있는 경우에는 그 위치를 시스템 경로에 추가하십시
              오. [c:\Users\JooYoung\workspace\js\server_side_javascript\node_modules\orientjs-native\build\binding.sln]
              [사이트] https://github.com......gyp
              * npm install --global --production windows-build-tools (관리자 모드로 실행한 커맨드 창에서 실행하셔야 합니다)
              * 시간이 좀 걸립니다.
              * node-gyp이 python 2.x를 사용하여 python 2.7을 설치한다음에, node-gyp이 그 2.7을 사용도록 설정해야 합니다.
              * 위에서 'npm install --global --production windows-build-tools'을 실행하면, 사용자 홈디렉토리 밑에 .windows-build-tools\python27이 이미 설치되어 있습니다.
              * npm config set python <파이썬설치디렉토리>를 설정하세요.

              프로젝트 디렉토리에서, npm install --save mysql을 실행하시면 됩니다
              대화보기
              • 준맹
                창피하네요 해결했습니다ㅜㅜ
                대화보기
                • 준맹
                  안녕하세요
                  강의 보고 따라하고 있는데,

                  저는 console.log(rows);
                  rows is not defined 라고 에러가 납니다ㅜㅜ

                  console.log(fields)는 잘 되고요.
                  rows가 정의되지 않았다고 나오니까
                  그 밑에 영상에서 나오는 rows.length 역시 사용할 수가 없네요 ㅠㅠ저는 왜이러는거죠
                • openarms
                  수업이 깔끔하네요!
                • ㅇㅇ
                  대화보기
                  • ㅇㅇ
                    sudo 넣어보세용
                    대화보기
                    • 코발트블루
                      $ npm install mysql --save 하는데.

                      C:\Users\xx\dev\js\server_side_javascript\node_modules\orientjs-native>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
                      gyp ERR! configure error
                      gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
                      gyp ERR! stack at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:449:14)
                      gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:404:11
                      gyp ERR! stack at FSReqWrap.oncomplete (fs.js:123:15)
                      gyp ERR! System Windows_NT 10.0.14393
                      gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
                      gyp ERR! cwd C:\Users\xx\dev\js\server_side_javascript\node_modules\orientjs-native
                      gyp ERR! node -v v6.9.1
                      gyp ERR! node-gyp -v v3.4.0
                      gyp ERR! not ok
                      server_side_javascript@1.0.0 C:\Users\xx\dev\js\server_side_javascript
                      `-- mysql@2.12.0 (git://github.com/mysqljs/mysql.git#7aa6da6f5928ebedb5a75c9c6c2ddd4ded2d00cd)

                      npm WARN server_side_javascript@1.0.0 No repository field.
                      npm WARN optional SKIPPING OPTIONAL DEPENDENCY: orientjs-native@2.2.2 (node_modules\orientjs-native):
                      npm WARN optional SKIPPING OPTIONAL DEPENDENCY: orientjs-native@2.2.2 install: `node-gyp rebuild`
                      npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1



                      이런에러가나용
                    • 코딩천사
                      mysql 설치-윈도우에서
                      제대로 따라했는데 mysql.exe 파일이 없습니다...
                    • 바지락
                      node-mysql 1 : 접속 하실때

                      예제에 나와 있는 fields를 columns 로 바꾸셔야 에러가 나지 않습니다.

                      var mysql = require('mysql');
                      var conn = mysql.createConnection({
                      host : 'localhost',
                      user : 'root',
                      password : '111111',
                      database : 'o2'
                      });
                      conn.connect();

                      var sql = 'SELECT * FROM topic';
                      conn.query(sql, function(err, rows, columns){
                      if(err){
                      console.log(err);
                      } else {
                      console.log('rows', rows);
                      console.log('columns', columns);
                      }
                      }
                      });
                    • excelsior0828
                      안녕하세요!
                      opentutorials에서 php수업을 완주하고 nodejs 수업을 듣고 있습니다.
                      이전에 다운로드한 mampstack을 사용해서 mysql을 실행하기 위해 manager-osx로 들어갔습니다.
                      apache web server는 running을 하지만 mysql database는 아무리 start를 눌러도 running이 되질 않습니다.
                      mac사용하고 있구요.

                      도와주시면 감사하겠습니다!
                    • jwyoungs
                      제가 한 가지 방법을 찾았습니다. 이게 안전한지 많이 쓰이는 방법인지는 잘 모르겠습니다.
                      https://github.com......env
                      이것을 활용하였습니다.
                      대화보기
                      • jwyoungs
                        안녕하세요.
                        mysql의 비번을 파일안에다가 적어두는 것이 위험하다고 말씀하셨는데, 다른방법을 취할 수 는 없나요? 감사합니다.
                      • 호동
                        아래 댓글들을 보고 npm install --save mysql을 설치하니 전과 같은 오류메시지는 안 뜨는데 아래와 같은 오류가 뜨네요. 어떻게 해야 오류가 안 뜨는 건가요? 방법 좀 알려주세요.

                        { [Error: connect ECONNREFUSED 172.0.0.1:3306]
                        code: 'ECONNREFUSED',
                        errno: 'ECONNREFUSED',
                        syscall: 'connect',
                        address: '172.0.0.1',
                        port: 3306,
                        fatal: true }
                      • 호동
                        안녕하세요.
                        Cloud9에서 MySQL을 실행하려고 하는데 계속 애러가 떠서요. MySQL과 node-mysql을 모두 설치했는데 뭐가 문제인 건지 모르겠어서요. 아래는 오류 내용입니다.

                        Important: use process.env.PORT as the port and process.env.IP as the host in your scripts!

                        Debugger listening on port 15454
                        module.js:327
                        throw err;
                        ^

                        Error: Cannot find module 'mysql'
                        at Function.Module._resolveFilename (module.js:325:15)
                        at Function.Module._load (module.js:276:25)
                        at Module.require (module.js:353:17)
                        at require (internal/module.js:12:17)
                        at Object.<anonymous> (/home/ubuntu/workspace/database_mysql.js:1:75)
                        at Module._compile (module.js:409:26)
                        at Object.Module._extensions..js (module.js:416:10)
                        at Module.load (module.js:343:32)
                        at Function.Module._load (module.js:300:12)
                        at Module.runMain [as _onTimeout] (module.js:441:10)

                        Process exited with code: 1
                      • Peater Han
                        @jj 님

                        답변 감사합니다. connection 연결과 끊는 것은 여러 시도 끝에 연관이 없다는 것을 알게 되었었습니다. 결국 비동기 방식으로 인해 발생되었기 때문에, 콜백함수 내부 마지막에 최종 처리하도록 하거나 해당 모듈의 동기방식을 고려해야 겠네요.
                      • @Peater Han 님

                        그건 Node.js 가 비순차적으로 작동되어서 그래요
                        mysql 관련 함우와 관계없이 비동기식이라 그렇습니다 또한 connetion 을 연결하고 끊는 거랑도 관계가 없습니다.
                        콜백 함수 이기 때문에 늦게 실행되는 것입니다~

                        https://opentutorials.org......884
                        영상 보시면 좋을 것 같습니다
                      • soarhigh7
                        저도 node-mysql 로 설치했다가,

                        cannot find module 'mysql' 에러 나서 계속 검색했네요 ㅜㅜ


                        npm install --save mysql 요렇게 하니까 되네용~!
                      • Peater Han
                        다른 방식으로 응용을 하려 했는데, 디버그하려고 conn.query 문 내의 함수가 외부에 있는 함수보다 늦게 실행이 되는 현상이 보이더라구요. 가령 예를 들면

                        var numRows;
                        var sql = 'SELECT * FROM person'; //person 테이블에 3개가 있다고 할 경우
                        conn.query(sql, function(err, rows, field){
                        if(err)
                        console.log(err);
                        else{
                        numRows = rows.length;
                        console.log('총개수', numRows);
                        }
                        });
                        conn.end();
                        console.log('numRows: ', numRows);

                        이렇게 할 경우
                        numRows: undefine
                        총개수: 3
                        이런식의 결과가 나오더라구요.
                        즉, 함수 mysql관련 함수가 늦게 실행되더라구요.
                      • uncommonine
                        node-mysql 1 : 접속 영상에서 문제있으신분은 npm install node-mysql --save대신 npm install mysql --save으로 해주시면 됩니다. 참고: https://github.com......sql
                      • sujin_suay
                        npm으로 mysql을 별도로 설치해주셔야합니다. 이미 문제 해결하셨겠지만요^^
                        대화보기
                        • danny
                          안녕하세요 동영상 강의를 보면서 문제가 생겼는데 해결을 하지 못해서 글 남깁니다.
                          현재 node-mysql1 접속 동영상을 공부하고 있고, npm node-mysql 설치와 알려주신 코드를 작성 후에 데이타베이스를 실행하기 위해 cmd에 node database_mysql.js 를 실행했는데

                          module.js:327
                          throw err;

                          Error : Cannot find module 'mysql'
                          at Function.Module._resolveFilename(module.js:325:15)
                          at Function.Module.load(module.js:276:25)
                          at Module.require(module.js:353:17)
                          at require (internal/module.js:12:17)
                          at Object.<anonymous> (C:\User\dev\js\server_side_javascript\database_mysql.js:1:80)

                          at Module._compile(module.js:409:26)
                          at Object.Module._extensions..js(module.js:416:10)
                          at Module.load(module.js:343:32)
                          at Function.Module._load(module.js:300:12)
                          at Function.Module.runMain(module.js:441:10)

                          이러한 에러가 발생했습니다. 분명히 똑같이 코드를 작성하고 모듈을 설치하였는데 안되니깐 답답하고 속상하네요 ㅠㅠ 혹시 이 문제가 왜 발생하는지 알 수 있을까요? 항상 감사합니다!!
                        • 지류진
                          감사합니다
                        • 초보자
                          채팅도 한번 넣는게 어떨까요?
                        버전 관리
                        egoing@gmail.com
                        현재 버전
                        선택 버전
                        graphittie 자세히 보기