MySQL grandmarnier.

Slides:



Advertisements
Similar presentations
Python Essential 세미나 1 Python Databases Module - Part 2 (MySQL Module) 발표자 : 박영국 ( 화 )
Advertisements

CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
SQLite 소개 및 안드로이드에서의 사용법
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
제 3장 오라클 소개 오라클 소개 오라클 설치 방법 오라클 구조 제 3 장 오라클 개요.
Allow reverse scans allow reverse scnas. allow reverse scans allow reverse scnas.
DB2 Information Management DB2 UDB CLP Command Summary.
소리가 작으면 이어폰 사용 권장!.
제로보드 소개 제로보드 설치하기 제로보드 관리하기
소프트웨어시스템설계(6주) 데이터베이스 연동
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
Database & Internet Computing Laboratory 한 양 대 학 교
C#에서 데이터베이스 연동 방법.
제 5 장 인덱스 생성 및 관리.
SQL*Plus - Oracle ISQL -
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
APM 실습 (MySQL).
Chapter 05 SQL 인젝션 공격.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
Apache Hive 빅데이터 분산 컴퓨팅 박영택.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
MySQL argon.
MySQL performance Xhark 김재홍.
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Information Technology
Toad for Oracle 설치 방법.
MySQL RENO.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
Supported Protocol 다음의 예문들은 CLP를 사용하는 방법들을 보여줍니다. 명령어들은 Windows의 DB2 명령창 프롬프트에서 실행합니다. 12. CLP 에서 +c 옵션을 이용하면 autocommit 모드가 사용되지 않으므로.
11장. 데이터베이스 서버 구축과 운영.
오라클 데이터베이스 성능 튜닝.
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
MySQL 기본 사용법.
Chapter 05 데이터베이스 프로그래밍.
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
SQL Server 2000 세미나 Profiler를 이용한 문제해결
차례 튜닝 - 프로필러를 이용한 튜닝 프로필러 친해지기 프로필러 결과 테이블로 만들기 프로필러 결과 분석하기
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
9장 테이블 생성 및 변경, 삭제하기(DDL).
SQL.
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
2012 인터넷 응용프로그래밍 FTP, MySQL 사용 방법 및 텀 프로젝트용 서버에서 웹페이지 구동 방법 설명
4장. 데이터베이스와 테이블 MySQL 데이터베이스 테이블의 생성 테이블 데이터 처리(삽입, 변경, 삭제) 작업
SQL (structured query language)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
SQL Query in the SSMS : DB, Table
JSP 게시판 구현.
View(뷰) 1 가상 테이블(Virtual Relation)
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
3장. SQL Server 2008전체 운영 실습 및 DB와 프로그램의 연동
SQL INJECTION MADE BY 김 현중.
06. SQL 명지대학교 ICT 융합대학 김정호.
Oracle 구성 Internet Application Server Database Server.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Stored program 장종원
Data Base Mysql.
제 5 장 MariaDB인덱스 생성 및 관리.
Presentation transcript:

MySQL grandmarnier

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

RDBMS 데이터를 테이블, 혹은 표의 형태로 저장하여 관리 Record Tuple Column Table 학번 이름 Id 비밀번호 특징 2011 최낙현 bbashong * 정종혁 sunguard 뿌잉뿌잉 2010 김재겸 noname 시바 정창제 rodumani 막내 유민정 alphamin 미스평창 심규민 boolgom Record or Tuple Column

RDBMS database in RDBMS = n * tables

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 라고 자기네들이 홍보합니다. 24/7 is an abbreviation which stands for "24 hours a day, 7 days a week", usually referring to a business or service available at all times without interruption. In the UK it may be known as round-the-clock service,

MySQL table type ISAM MYSQL 3.x버전까지의 테이블 테이블 최대용량은 4GB 5.0 버전부터 사라짐 MyISAM MYSQL 4.x버전의 기본 테이블 타입 ISAM의 확장 용량은 OS에 달림 작은 규모의 DB에 적합 MERGE 여러 개의 MyISAM 테이블을 하나로 취급하여 MyISAM의 용량 제한을 극복한 타입 24/7 is an abbreviation which stands for "24 hours a day, 7 days a week", usually referring to a business or service available at all times without interruption. In the UK it may be known as round-the-clock service,

MySQL table type InnoDB ( ara에서 사용 ) 트랜잭션, Foreign key, row-level locking 지원 용량 제한이 거의 없음 MyISAM에 비해 용량을 많이 사용함 대규모의 DB에 적합 BDB 트랜잭션, page-level locking 지원 데이터는 옮길 수 없음 HEAP 메모리를 저장공간으로 사용 엑세스 타임이 빨라 임시 테이블이나 검색결과 테이블 등으로 활용 locking 이란 어느 사용자가 데이터를 사용하기 위해 다른 사용자가 사용할 수 없도록 하는것 더 작은 규모의 locking을 할 수록 많은 쿼리를 처리하기에 효과적이다. foreign key 는 다른 테이블의 primary key를 참조하는 키이다. 트랜잭션은 여러 단계의 일들이 하나의 작업을 완성하는 것을 가리킨다. 여러 단계의 일 중 하나라도 실패하면 rollback 이라 하여 작업을 시작하기 전으로 되돌리고 성공하면 commit이라 하여 변경사항을 적용한다.

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

Practice Session MySQL 설치 #apt-get install mysql-common mysql-server mysql-client 소스를 이용해 직접 설치하는 법은 reno의 mysql 세미나 참고 설치 중에 root 의 비밀번호를 생성 설치가 끝나면 mysql 데몬(mysqld)이 바로 실행됨 mysql-common : 모든 버전의 client library에 쓰이는 필수 파일들

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

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

Practice Session MySQL 로 서버에 접속하기 $mysql -u [username] default : connected username -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 -p 뒤에 공백없이 패스워드를 쳐도 접속은 가능합니다만 보안상 추천하지 않습니다

Practice Session MySQL 사용자 관리 사용자 추가하기 use mysql; GRANT grant all privileges on *.* 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) 사용자 자기 아이디로 만들기, 권한은 일단 다 줍시다. flush privileges; 는 권한의 변경사항을 바로 적용시키는 구문 ( 새로고침 ) 정확히 쓰면 이러이러한 유저에게 각각의 기능을 실행할 권한을 이렇게 준다는 뜻입니다. INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections) VALUES('localhost', 'newuser', PASSWORD('1234'), '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);

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

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

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;

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

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

Practice Session MySQL 의 자료형 varchar(N) : 가변 길이 문자열 text : 최대 65536개의 문자 저장, case insensitive blob : 최대 65536개의 문자 저장, case sensitive int : 정수형 float : 실수형 date : 날짜 ( yy-mm-dd ) time : 시간 ( hh:mm:ss) datetime varchar 는 저장 시 낭비가 적지만 검색 속도가 느림 text, blob 역시 가변 길이, 만약 가변길이를 가지는 칼럼이 하나라도 있으면 char 가 varchar 로 바뀔 수 있음

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

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

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

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

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

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

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 %는 와일드카드 * 의 역할

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

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

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 : 변수, 값 출력

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) 자기 데이터베이스 백업하세요 좀 있다 다 지웁니다. --add-drop-table 옵션은 이미 같은 이름의 데이터베이스가 있을경우 덮어쓰는 옵션입니다. -B 옵션으로 백업하는 경우에도 필요하면 넣을 수 있습니다.

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

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