1 / 32

MySQL

MySQL. grandmarnier. Database. 정보의 집합 주로 여러 사람들이 공유하고 사용할 때 유용함 파일 시스템의 단점을 극복하기 위해 만들어짐. DBMS. 데이터베이스 관리 시스템 데이터베이스 내의 데이터를 관리 다수의 컴퓨터 사용자들이 데이터베이스 안에 데이터를 기록하거나 접근할 수 있게 함. RDBMS. 데이터를 테이블 , 혹은 표의 형태로 저장하여 관리. Table. Record or Tuple. C olumn. RDBMS.

bryga
Download Presentation

MySQL

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. MySQL grandmarnier

  2. Database • 정보의 집합 • 주로 여러 사람들이 공유하고 사용할 때 유용함 • 파일 시스템의 단점을 극복하기 위해 만들어짐 DBMS • 데이터베이스 관리 시스템 • 데이터베이스 내의 데이터를 관리 • 다수의 컴퓨터 사용자들이 데이터베이스 안에 데이터를 기록하거나 접근할 수 있게 함

  3. RDBMS 데이터를 테이블, 혹은 표의 형태로 저장하여 관리 Table Record or Tuple Column

  4. RDBMS database in RDBMS = n * tables

  5. Why MySQL? 1. Scalability and Flexibility 2. High Performance 3. High Availability 4. Robust Transactional Support 5. Web and Data Warehouse Strengths 6. Strong Data Protection 7. Comprehensive Application Development 8. Management Ease 9. Open Source Freedom and 24 x 7 Support 10. Lowest Total Cost of Ownership라고 자기네들이 홍보합니다.

  6. MySQL table type ISAM MYSQL 3.x버전까지의 테이블 테이블 최대용량은4GB 5.0 버전부터 사라짐 MyISAM MYSQL 4.x버전의 기본 테이블 타입 ISAM의 확장 용량은 OS에 달림 작은 규모의 DB에 적합 MERGE 여러 개의MyISAM테이블을 하나로 취급하여 MyISAM의 용량 제한을 극복한 타입

  7. MySQL table type InnoDB( ara에서 사용 ) 트랜잭션, Foreign key, row-level locking 지원용량 제한이 거의 없음 MyISAM에 비해 용량을 많이 사용함 대규모의 DB에 적합 BDB 트랜잭션, page-level locking 지원 데이터는 옮길 수 없음 HEAP 메모리를 저장공간으로 사용 엑세스 타임이 빨라 임시 테이블이나 검색결과 테이블 등으로 활용

  8. SQL Structured Query Language • RDBMS에서 다음의 기능을 위해 고안된 컴퓨터 언어 • 자료의 검색과 관리 • 데이터베이스 스키마 생성과 수정 • 데이터베이스 객체 접근 조정 관리 • 명령어는 여러 줄에 나눠 쓰는 것도 가능하다 • 대소문자를 구분하지 않는다 • 명령어는 ; 으로 종료한다

  9. Practice Session • MySQL 설치 • #apt-get install mysql-common mysql-server mysql-client • 소스를 이용해 직접 설치하는 법은 reno의 mysql세미나 참고 • 설치 중에 root 의 비밀번호를생성 • 설치가 끝나면 mysql데몬(mysqld)이 바로 실행됨

  10. Practice Session • MySQL 실행 및 종료 • #/etc/init.d/mysqlstart|stop|restart • apt로 설치한 경우 • 실행: /usr/local/mysql/bin/mysqld_safe & • 종료: /usr/local/mysql/bin/mysqladmin -u root -p shutdown • 소스로 설치한 경우

  11. Practice Session • MySQL 설정 • /etc/my.cnf : MySQL 모든 프로그램에 대한 옵션 • DATADIR/my.cnf :서버에 관련된 옵션 • DATADIR 은 /etc/my.cnf의 [mysqld]에 있음 • $HOME/.my.cnf : 개인 사용자의 옵션

  12. Practice Session • MySQL 로 서버에 접속하기 $mysql -u [username] default : connectedusername -p(password) confirm password needed -h [host address] default : localhost -P [port] default : 3306 -S [socket address] [database] 이후로는 mysql [login] [database]로 표기함 do) mysql –u sparcs –p –h wseminar6.sparcs.org

  13. Practice Session • MySQL 사용자 관리 • 사용자 추가하기 • use mysql; • GRANT • grant all privilegeson *.* to ‘[name]’@'[host]’ identified by ‘[password]’ with grant option; • INSERT (in 5.0, 버전마다 조금씩 다를 수 있음) • INSERT INTO user VALUES(‘[host]’, ‘[name]’, PASSWORD(‘[password]’), ‘Y’, ‘Y’, ‘Y’, ‘Y’,‘Y’,‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘’, ‘’, ‘’, ‘’, 0, 0, 0, 0); • flush privilieges; ※ [host]는 접속을 허용할 위치, %는 *와 같은 의미입니다. ex) 143.248.% do) 사용자 자기 아이디로 만들기, 권한은 일단 다 줍시다.

  14. Practice Session • MySQL 사용자 관리 • 필요한 Y/N의 개수는 mysql의 테이블 구조에 달림 • use mysql; desc user;

  15. Practice Session • MySQL 사용자 관리 • 사용자 삭제하기 DELETE • delete from user where user=‘[username]’; • flush privileges; don’t do) 다른 사람 아이디 삭제하지 마세요

  16. Practice Session • MySQL 사용자 관리 • 사용자 외부 접속 허용하기 /etc/mysql/my.cnf에서 • bind address=127.0.0.1 을 주석처리 mysql에서 • use mysql; • select host, user, password from user; • update user set host=‘%’ where user=‘[username]’ and host=‘[old host]’ • flush privileges;

  17. Practice Session • MySQL 사용자 관리 • 사용자 외부 접속 허용하기 • 보통 외부 접속을 허용하기 위해서는 하나의 유저에 대해 2개이상의 호스트를 추가하는 것이 좋다. • 접속하는 곳에 따라 비밀번호와 권한을 다르게도 설정가능 • localhost %option: 로컬 호스트의 호스트 이름 ex) wseminar6 • 외부의 접속을 허용하는 주소 (1개보다 많아도 됨) do) 실습 때문에 이 설정은 미리 끝냈습니다. use mysql; select host, user from user;로 자기 아이디의 호스트를 확인하세요.

  18. Practice Session • MySQL 사용하기 • 명령어는 항상 ; or \g 로 끝남 • \q, ^D, quit, exit 명령어로 접속 종료 • command clear는 \c • 도움말은 \h

  19. Practice Session • MySQL 의 자료형 • varchar(N) : 가변 길이 문자열 • char(N) : 고정 길이 문자열 • text : 최대 65536개의 문자 저장, case insensitive • blob : 최대 65536개의 문자 저장, case sensitive • int : 정수형 • float : 실수형 • date : 날짜 ( yy-mm-dd ) • time : 시간 ( hh:mm:ss) • datetime

  20. Practice Session • SQL 주요 명령어들 • create • insert • select • update • delete • show • explain • describe • alter 등등 많은 명령어들

  21. Practice Session • SQL 주요 명령어들 • show, explain, describe : DB 와 테이블에 대한 정보를 얻어옴 • show databases; • show tables from [database]; • show columns from [table]; = explain [table]; = describe [table]; = desc [table];

  22. Practice Session • SQL 주요 명령어들 • create : DB, 테이블, 칼럼 생성 • create database [db name]; • use [db name]; 이후 • create table [table name] ( [column name] type, … ); do) 자신의 데이터베이스, 테이블 만들기 테이블 내용은 가계부로. 내역 – 수입 – 날짜 정도? testtable의 account를 참조하면 좋습니다.

  23. Practice Session • SQL 주요 명령어들 • drop : DB, 테이블, • drop database [db name] ; • use [db name]; 이후 • drop table [table name]; do) 잘못 만들었으면 일단 이걸로 지우고 다시 만드세요. 수정하는 명령어는 나중에 나옵니다.

  24. Practice Session • SQL 주요 명령어들 • insert : 테이블에레코드 추가 • use [db name]; 이후 • insert into [table name] ( [column1], [column2], …) values ( [value1], [value2], …) ; 축약형 • insert into [table name] values ( [v1], [v2], …) ; do) 레코드를 3개 이상 넣으세요

  25. Practice Session • SQL 주요 명령어들 • select : 테이블에서 레코드 검색 • use [db name]; 이후 • select [column1], [column2], … from [table name] ( where [conditions] ); • 칼럼을 적는 대신 * 으로 모든 칼럼을 볼 수 있다. do) 이전에 레코드가 잘 입력되었는지 확인해보세요

  26. Practice Session • SQL 주요 명령어들 • 가능한 • and(&&), or(||), not(!) • =, !=(same as <>), <, > , <=, >= • [a] in ( [b1], [b2], … ) • 이 외에도 여러가지가 있음 • ex) select name, id, year, phone from nugu where name=‘김%’ and year >= 2007

  27. Practice Session • SQL 주요 명령어들 • update : 레코드 수정 • use [db name]; 이후 • update [table name] set [column1]=[data1], [column2]=[data2],… where [conditions]; where [conditions] 를 안 주면 칼럼의 모든 데이터가 바뀝니다!

  28. Practice Session • SQL 주요 명령어들 • delete : 레코드 삭제 • use [db name]; 이후 • delete from [table name] where [conditions]; where [conditions] 를 안 주면 레코드가 모두 삭제됩니다 주의!

  29. Practice Session • mysqladmin • Mysql관리자 • mysqladmin [login] create [db_name] • mysqladmin [login] drop [db_name] • mysqladmin [login] ping : mysqld가 돌아가는지 확인 • mysqladmin [login] status : mysql상태 • mysqladmin [login] extended-status • mysqladmin [login] shutdown • mysqladmin [login] processlist = mysqladmin[login] process : 실행중인 클라이언트 목록 • mysqladmin [login] variables : 변수, 값 출력

  30. Practice Session • mysqldump • MySQL 백업 유틸리티 • mysqldump [login] –A –-add-drop-table > [bak] • 전체 데이터베이스 백업 • mysqldump [login] –B [options] [db1] [db2] … > [bak] • 선택한 데이터베이스 백업 • mysqldump [login] [db name] [tb1] [tb2] … > [bak] • 선택한 데이터베이스의 테이블 을 선택하여 백업 • 보통 .sql확장자를 붙여서 백업함 do) 자기 데이터베이스 백업하세요 좀 있다 다 지웁니다.

  31. Practice Session • mysqldump • 데이터 복구 시 • mysql [login] < [bak] • 여러 개의 데이터베이스 복구 ( -B로 백업한 경우) • mysql [login] [db_name] < [bak] • 선택한 데이터베이스 백업(하나씩 백업한 경우) • db는 생성 되어있어야 함 한글이 깨지면 –-default-character-set 옵션을 이용하자. 혹은 mysql옵션에서 ascii코드 외의 문자를 ?로 표기하는 옵션이 켜져있을수도 있으니 확인! do) 데이터베이스를 복구해보세요

  32. Reference • wikipedia, terms • MySQL version 4.x , 베스트북 • http://kr.blog.yahoo.com/yupymia/453 • http://shapeace.tistory.com/99 • http://www.mssql.org/LectureSQL/ • http://barnak.tistory.com/52 • http://whoisidc.com/board/read.php?bid=10&pid=76&page=1&ord=8&keyword=&field= • http://blog.naver.com/zakarum79?Redirect=Log&logNo=120033615643 • http://4ellene.net/tt/218 • http://radiocom.kunsan.ac.kr/lecture/mysql/mysqldump.html • http://www.mysql.com/why-mysql/topreasons.html • http://pneuma08.tistory.com/22 • http://kldp.org/node/26673 • http://kr.blog.yahoo.com/kwon37xi/1129894 • http://osguru.tistory.com/entry/MySQL-DB-백업-및-복구-mysqldump • http://gudle.net/336 • http://journae.springnote.com/pages/5936273 • http://comnic.tistory.com/39 • http://www.digimoon.net/blog/271 • http://www.sojung.net/support/manual/mysqluse.html • http://koong.net/index.php?MenuID=1&cat=DB&list_count=50&mode=view&idx=429

More Related