Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2017 SW교육 학생동아리 Lecture 4.

Jinny You
December 11, 2017

2017 SW교육 학생동아리 Lecture 4.

2017 SW교육 학생동아리에서 진행한 "리눅스 서버를 연동한 드론 소프트웨어 프로그래밍"강의 자료입니다.

Jinny You

December 11, 2017
Tweet

More Decks by Jinny You

Other Decks in Education

Transcript

  1. 프로 생각해보기 SNS나 게임과 같은 온라인 서비스에 존재하는 방대한 데이터

    해당 서비스들의 서버에서는 이렇게 많은 데이터를 어떻게 처리하고 있을까?
  2. 프로 데이터베이스 이해하기 정답은 바로! 데이터베이스(DB, DataBase) 오늘날은 많은 서버들이

    DB를 활용하여 데이터를 관리하고 있어 DB없는 서버를 찾아보기는 힘들다.
  3. 프로 데이터베이스 이해하기 이러한 DATABASE에 데이터를 저장하거나 읽을 수 있게

    해주는 프로그램을 데이터베이스 관리시스템 (DBMS, Database Management System) 이라 부른다. 오늘 배울 MySQL이, DBMS의 일종으로 MySQL을 통해 DB를 관리할 수 있게 된다.
  4. 프로 데이터베이스의 구조 데이터베이스는 테이블이라고 불리는 데이터 표를 포함하고 있다.

    우리가 흔히 데이터베이스를 생각했을 때 떠올리는 표의 형태가 바로 테이블이다. 데이터베이스 = 테이블의 집합 테이블 = 데이터의 집합
  5. 프로 데이터베이스의 원리 DB에 데이터를 삽입하거나 수정하는 등의 기능을 수행하려면

    SQL이라는 명령문을 활용해야한다. 회원가입 SQL 사용하여 데이터 넘김 저장 응답 응답 [클라이언트와 서버, 서버와 데이터간의 관계]
  6. 프로 MySQL? MySQL은 다양한 앱과 서비스에서 쓰이고 있는 DBMS 무료라는

    장점때문에, 많은 서비스에서 사랑받고 있는 MySQL 설치방법이나 사용법이 쉽기때문에, 학생이나 초보개발자들도 쉽게 사용가능.
  7. 프로 root 계정 패스워드 변경하기 1. 계정정보가 담겨있는 mysql 데이터베이스에

    접속 2. 계정정보가 어떻게 구성되어 있는지 확인해보기 > select user, host, password from user;
  8. 프로 root 계정 패스워드 변경하기 3. root 계정 패스워드 변경하기

    > UPDATE user SET password=PASSWORD('변경할 패스워드') where user='root'; 4. 최종 저장하기 5. 변경 확인하기 패스워드가 암호화되어있어 내용을 확인할 수 없지만, 문자열이 바뀐것으로 보아 변경됬음을 확인할 수 있다.
  9. 프로 외부접속 허용하기 > quit 커맨드로 연결된 DB 빠져나오기 >

    cd /etc/mysql/mariadb.conf.d/ 커맨드로 경로이동 > ls 설정 정보와 관련된 다양한 파일들이 있다. -> 50-server.cnf 파일 열기
  10. 프로 외부접속 허용하기 bind-address = 127.0.0.1 앞에 커서를 둔뒤 [i]

    -> [#] -> [esc] -> [:w] -> [enter] -> [:q] -> [enter] MySQL 서비스를 재시작하여 외부접속 허용 설정 변경 완료!
  11. 프로 데이터베이스 살펴보기 $ sudo mysql –uroot 커맨드를 활용하여 계정

    접속 > show databases; 커맨드를 활용하여 기본 데이터베이스 확인
  12. 프로 테이블 생성하기 테이블은 어떠한 기준에 따라 데이터를 묶어놓은 표를

    말한다. 위 표에서는 No, USER, 전화번호 가 그 기준들이 되겠다. 데이터베이스에서는 이 기준을 ‘필드’ 라고 부른다. 데이터가 관리되는 실질적인 공간을 테이블이라 했다. DB를 생성했다면 테이블을 생성해보자! 기준
  13. pi@raspberrypi:~ $ cd Desktop/ Node JS와 연동하기 $ npm install

    mysql 커맨드로 mysql 모듈 설치하기 지난 번에 만들었던 POST 통신 기반의 라우터 를 DB와 연동하여 업그레이드 하는 것이 이번 시간의 목표 ★ MySQL 모듈 설치하기
  14. pi@raspberrypi:~ $ cd Desktop/ 소스코드 살펴보기 host 에는 자기 팀의

    [서버 로컬 IP] 주소 입력 팀 A 192.168.35.133 팀 B 192.168.35.123 password 에는 아까 설정한 비밀번호 입력
  15. 프로 테스트하기 업그레이드된 user 라우터는 POST 통신기반이므로 [포스트 맨] 프로그램을

    활용하여 테스트 화면과 같이 id, pw 값을 넣은뒤, 우측 상단 [Send] 클릭
  16. 프로 테스트하기 putty로 돌아가 mysql 커맨드 창에서 > select *

    from user; 커맨드 입력 -> 화면과 같이 전송한 ID, PW가 조회된다면 성공ㅋ!
  17. 프로 마치면서… 라즈베리파이에 MySQL DB를 설치하여 Node JS서버와 연동해 보았다.

    Node js의 mysql 모듈과 SQL 명령어를 활용하면 연동이 쉬웠다. 회원가입 SQL 사용하여 데이터 넘김 저장 응답 응답 [클라이언트와 서버, 서버와 데이터간의 관계]
  18. 프로 참고 강의 & 심화 강의 http://blog.naver.com/wlsdml1103/ 221159758141 http://blog.naver.com/wlsdml1103/221159964626 http://blog.naver.com/wlsdml1103/221160038986

    http://blog.naver.com/wlsdml1103/221160122735 MySQL 관련 강좌 - 3건 http://blog.naver.com/wlsdml1103/221160152394