MySQL 93

MySQL/MariaDB 제네럴 로그 파일 (General log file)

MySQL/MariaDB 제네럴 로그 파일 (General log file) Version : Mariadb 5.5.4.2-WinX64 제네럴 로그 파일은 MySQL/MariaDB에서 실행되는 모든 쿼리의 내용이 기록 된다. 제네럴 쿼리 로그는 실행되기 전에 요청을 받는 즉시 기록되기 때문에 쿼리 실행 중 오류가 발생해도 일단 로그 파일에 기록 된다. 제네럴 로그 파일은 설정파일(my.ini 또는 my.cnf)에서 [mysqld]항목에 다음 명령을 추가한다. 아래 예제는 C:/Program Files/MariaDB 5.5/data/ 폴더에 log_query.dat 이름으로 제네럴 로그를 기록한다. log=C:/Program Files/MariaDB 5.5/data/log_query.dat 쿼리를 실행하고..

MySQL, MariaDB 2015.07.16

MySQL/MariaDB 에러로그파일

MySQL/MariaDB 에러로그파일 Version : Mariadb 5.5.4.2-WinX64 에러로그파일은 MySQL/MariaDB가 실행되는 도주에 발생한 에러나 경고를 출력하여 기록하는 파일이다. 에러로그파일의 위치는 별도로 지정하지 않았다면 설정파일의 datadir 파라메터에 설정된 경로에 .err 확장자로 생성된다. 편집기에서 에러로그파일을 열어보면 다양한 에러가 기록된 것을 확인할 수 있다. 에러로그 경로 및 파일명을 변경하는 방법은 설정파일(my.ini 또는 my.cnf)에서 [mysqld]항목을 수정한다. 아래 예제는 C:/Program Files/MariaDB 5.5/aaa 폴더에 log_error.log 이름으로 로그파일을 기록한다. log-error=C:/Program Files/M..

MySQL, MariaDB 2015.07.16

MySQL/MariaDB 프로시저 생성, 수정, 삭제

MySQL/MariaDB 프로시저 생성, 수정, 삭제 Version : Mariadb 5.5.4.2-WinX64 스토어드 프로시저와 함수는 MySQL 5.0부터 추가된 기능이다. 프로시저를 포함한 스토어드 프로그램을 사용할 때에는 프로시저의 끝을 정확히 알 수 있도록 SQL의 구분자를 변경해 주어야 한다. 일반적으로 MySQL의 구분자는 ";" 문자가 프로그램의 끝을 의미한다. 하지만 스토어드 프로시저 내에서는 수 많은 ";"를 포함하므로 프로시저의 끝을 정확히 알 수가 없다. CREATE 명령의 끝을 정확히 판별 할 수 있도록 별도의 구분자를 문자열로 지정하여 사용한다. 명령의 끝을 알려주는 종료문자 변경은 DELIMITER 명령어를 사용한다. 아래 예제는 종료문자를 ";;" 변경한다. DELIMITE..

MySQL, MariaDB 2015.07.16

MySQL/MariaDB 서비스 시작, 종료

MySQL/MariaDB 서비스 시작, 종료 Version : Mariadb 5.5.4.2-WinX64 유닉스 계열 운영체제에서 RPM 패키지로 MySQL을 설치 했다면 자동으로 /etc/init.d/myslq 스크립트 파일이 생성되기 때문에 이 스크립트를 이용하여 MySQL을 기동하거나 종료하는 것이 가능하다. 윈도우 인스톨러 버전으로 MySQL을 설치하면 인스톨 과정중에 윈도우 서비스로 MySQL을 등록할 수 있다. MySQL 서비스를 실행하는 방법은 다음 명령어를 사용한다. net start mysql MySQL 서비스 중지는 다음 명령어를 사용한다. net stop mysql MyISAM 스토리지 엔진은 내부적인 작동 방식이 간단하기 때문에 서비스 종료가 실행됨과 동시에 데이터가 모두 데이터파일로..

MySQL, MariaDB 2015.07.16

설정 파일 구성 (my.ini) 및 시스템 변수 확인

설정 파일 구성 (my.ini) 및 시스템 변수 확인 Version : Mariadb 5.5.4.2-WinX64 MySQL은 단 하나의 설정 파일만 사용한다. 윈도우에서는 my.ini (리눅스에서는 my.cnf) 이름을 사용한다. 이 파일은 수정 할 수 없으며 MySQL이 시작 될 때 설정 파일을 참고 한다. MySQL에서는 설정 파일이 여러 개 존재 할 수 있는데 서버가 폴더를 읽으면서 처음 만나는 설정 파일을 사용한다. 여러 개의 설정 파일이 있을 때 어느 파일이 사용되었는지 확인이 필요하다면 다음 명령어를 실행하여 확인 할 수 있다. mysql –help MySQL 설정파일 하나에는 여러 개의 설정 그룹을 저장 할 수 있다. 기본적으로 그룹명은 바이너리 프로그램(mysqlid, client 등) 이..

MySQL, MariaDB 2015.07.16

인덱스 생성

인덱스 생성 Version : Mariadb 5.5.4.2-WinX64 테이블에 생성된 인덱스 확인. (SQL Server에서는 sp_helpindex object_table) show index from user; Uid2 컬럼에 인덱스 생성 (SQL Server 동일) create index IX_user_uid2 on user (uid2); Uid2 컬럼에 인덱스 삭제 (SQL Server 동일) drop index IX_user_uid2 on user; 복합 인덱스 만들기 (여러 컬럼을 묶어 인덱스를 만든다.) SQL Server와는 다르게 복합 인덱스 경우 복합키에 사용된 컬럼의 수만큼의 인덱스가 생성되어 나타난다.. create index IX_user_uid_uid2 on user (uid,..

MySQL, MariaDB 2015.07.16

ALTER, FOREIGN KEY, JOIN

ALTER, FOREIGN KEY, JOIN Version : Mariadb 5.5.4.2-WinX64 테이블 생성 use sw_test; create table user ( uid char(8), name varchar(32), money dec(10,2), score int ); 제일 앞에 uid2 컬럼 추가 alter table user add column uid2 char(8) first; name 컬럼 뒤에 birth 컬럼 추가 alter table user add column birth date after name; Uid에 PRIMARY KEY 속성 추가 alter table user add primary key (uid); Score 컬럼 삭제 alter table user drop col..

MySQL, MariaDB 2015.07.16

외부접속 허용하기

외부접속 허용하기 Version : Mariadb 5.5.4.2-WinX64 MySQL / MariaDB를 외부에서 접속하는 방버에 대해서 알아본다. 실제 운영에서는 필요한 계정만 설정하면 되며 예제로 root 계정을 사용하였다. 데이터베이스에 접속한 다음 MySQL 데이터베이스를 선택한다. use mysql; User 테이블 정보를 확인 한다. Root의 host 값을 살펴보면 localhost, 12.0.0.1, 서버이름 등으로 기본 등록된 것을 확인 할 수 있다. 하지만 외부에서 접속을 나타내는 값이 없다. select host, user, password from user; 외부에서 접속 할 수 있도록 정보를 등록한다. 특정 IP로 지정할 수도 있지만 실습에선 어디서든 접속 할 수 있도록 %를 사..

MySQL, MariaDB 2015.07.16

데이터 타입

데이터 타입 Version : Mariadb 5.5.4.2-WinX64 MySQL / MariaDB 데이터 타입에 대해서 알아본다. [숫자형 데이터 타입] 데이터 타입 의미 크기 설명 TINYINT 매우 작은 정수 1 byte -128 ~ 127 (부호없이 0 ~ 255) SMALLINT 작은 정수 2 byte -32768 ~ 32767 MEDIUMINT 중간 크기의 정수 3 byte -(-8388608) ~ -1(8388607) INT 표준 정수 4 byte ~ -1 BIGINT 큰 정수 8 byte - ~ -1 FLOAT 단정도 부동 소수 4 byte -3.40E+45 ~ 3.40E+45 (no unsigned) DOUBLE 배정도 부동 소수 8 byte -1.7976E+320 ~ 1.7976E+32..

MySQL, MariaDB 2015.07.16

테이블 생성 삭제 / 데이터 입력 삭제

테이블 생성 삭제 / 데이터 입력 삭제 Version : Mariadb 5.5.4.2-WinX64 테이블 생성 삭제에 대해서 알아본다. [테이블 생성] 기본 문법 CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options ]... [partition_options] CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options ]... [partition_options] select_statement CREATE [OR REPLACE] [TEMPORARY] TA..

MySQL, MariaDB 2015.07.16