1 / 65

Database & DB Server

Database & DB Server. 2014 바 - 퀴 Seminar I’m EGG. 이 세미나에서는 무엇을 다루나요 ?. 이 세미나에서는 무엇을 다루나요 ?. D ata b ase 가 뭐죠 D ata b ase M anagement S ystem 이 뭐죠 Example : My SQL. Special Thanks to Argon, Yasik , Grandmarnier , reno Wiki pedia God Google. 센 - 빠이 !. Database 가 뭐임 ?.

elgin
Download Presentation

Database & DB Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Database & DB Server 2014 바-퀴Seminar I’m EGG

  2. 이 세미나에서는 무엇을 다루나요?

  3. 이 세미나에서는 무엇을 다루나요? Database가 뭐죠 Database Management System이 뭐죠 Example: MySQL

  4. Special Thanks to Argon, Yasik, Grandmarnier, renoWikipediaGod Google 센-빠이!

  5. Database가 뭐임?

  6. Database:Organized Collection of Data

  7. Database:Organized Collection of Data 정보, 자료

  8. Database:Organized Collection of Data

  9. Outside Example of DB

  10. Concept of Database:구조화

  11. Concept of Database:구조화 -> 검색과 갱신 효율 증가

  12. Concept of Database:구조화 -> 자료 항목 중복 제거

  13. Database의 특징 :실시간 접근성지속적인 변화동시 공유

  14. Database의 장점 :중복 최소화 -> 공간절약일관성 -> 표준화 가능데이터 접근 쉬움 -> 관리가 용이논리적, 물리적 독립

  15. DatabaseModel

  16. DatabaseModel determine Logical StructureManner(Store, Organize, Manipulate)

  17. DatabaseModel

  18. RelationalModel

  19. RelationalModel:Tuples, grouped into Relations

  20. Database

  21. Database<- ->User

  22. Database<- ->User DBMS

  23. Database Management System

  24. Database Management System Database를 생성, 유지, 관리 해주는 프로그램

  25. Database Management System General Purpose -> 가능한 많은 기능을 수행 -> but, Complexity 상승 -> 목적에 맞는 DBMS 생김 Ex) E-mail Service

  26. Transaction Database 처리에 필요한 작업들에 대한 연속처리단위 Ex) 데이터 검색, 추가, 삭제 Atomicity(원자성) Consistency(일관성) Isolation(독립성) Durability(지속성)

  27. History of DBMS Navigational era SQL/relational era Post-relational era

  28. History of DBMS : Navigational era 1960 중반, Direct-access storage 개발 -> Database용어가 생김 General-Purpose Database 개발 UP! CODASYL(Nework Model) IBM이 만든 IMS(Hierarchical Model)

  29. History of DBMS : SQL/relational era 1970s, Relational model 등장(Edgar Codd) -> Hierarchical, Navigationla포괄 가능 PRTV, Business System 12(IBM)

  30. History of DBMS : SQL/relational era Hardware와 Software의 Integration SQL의 등장, SQL/DS, DB2(IBM) Entity-relationship Model 출현(1976) 1980s, Object-oriented 개념 도입

  31. History of DBMS : Post-relational era 2000s, NoSQL(Not only SQL) 등장 -> 디자인의 간소화, Horizontal Scaling, 유용성 Key-value, Graph, Document 등의 DS 사용 Big Data, Real-time Web 등에 쓰임 ACID 필수요소 X

  32. MySQL Relational Dabase기반 DBMS Paid editon있으나 일단 공짜 Market Share 2위(1위는 Oracle)

  33. MySQL Table InnoDB( ara에서 사용 ) 트랜잭션, Foreign key, row-level locking 지원용량 제한이 거의 없음 MyISAM에 비해 용량을 많이 사용함 대규모의 DB에 적합 BDB 트랜잭션, page-level locking 지원 데이터는 옮길 수 없음 HEAP 메모리를 저장공간으로 사용 엑세스 타임이 빨라 임시 테이블이나 검색결과 테이블 등으로 활용 ISAM MYSQL 3.x버전까지의 테이블 테이블 최대용량은4GB 5.0 버전부터 사라짐 MyISAM MYSQL 4.x버전의 기본 테이블 타입 ISAM의 확장 용량은 OS에 달림 작은 규모의 DB에 적합 MERGE 여러 개의MyISAM테이블을 하나로 취급하여 MyISAM의 용량 제한을 극복한 타입

  34. MySQL 설치 설치 : sudo apt-get install mysql-server Client 및 기타 필요한 것 함께 깔림 http://dev.mysql.com/doc/에서 각 OS에 맞는 다양한 설치법 제공

  35. MySQL 설치 설치 : 설치 도중에 root 비밀번호 설정한다.

  36. MySQL 실행/종료 설치가 종료되면 mysql-server 데몬 자동 실행 실행법: sudo service mysql start 종료법: sudo service mysql stop 실행 스크립트는 /etc/init.d/에 위치 /etc/init.d/mysql start or stop 이외에도 status, restart, reload 사용 가능

  37. MySQL 설정 설정 파일 : /etc/mysql/my.cnf에 위치 개인별 설정 파일 : ~/.my.cnf에 위치 서버 관련 옵션은 my.cnf내에 [mysqld]에 위치

  38. MySQL로 서버에 접속하기 $mysql -u [username] : 아이디를 적습니다 -p(password) : 암호 입력 여부 체크! -h [host address] : 말 그래로host를 적습니다 -P [port] : 포트를 적습니다 -S [socket address] : 소켓 주소를 적습니다

  39. MySQL 사용자 추가 use mysql;로 mysql DB로 들어가고 grantall privileges on *.*to‘[name]’@'[host]’ identified by ‘[password]’ with grant option;

  40. MySQL 사용자 추가 예시: grantall privileges on eggdb.* to egg@localhost identified by ‘ningen’withgrant option;

  41. MySQL 사용자 추가 예시: grantselect, update, insert on eggdb.* to egg@localhost identified by ‘ningen’withgrant option;

  42. MySQL 사용자 추가 insertINTO user VALUES(‘[host]’, ‘[name]’, PASSWORD(‘[password]’), ‘Y’, …); flush privileges;

  43. MySQL 사용자 삭제 DELETE FROM user WHERE user=‘username’ flush privileges;

  44. MySQL 사용자 접속 관리 외부 호스트에서 접속을 허용하고 싶다면 /etc/mysql/my.cnf에서 bind-address = 127.0.0.1에서 ctrl-A 하고 #을넣어주세요

  45. MySQL 사용자 접속 관리 use mysql;하시고 updateuser set host=‘%’ where user=‘[username]’ and host=‘[old host]’;

  46. mysqladmin $mysqladmin –u root –p (command) 하는 식으로 이용합니다. 관리자권한으로 하는 거죠!

More Related