MySQL, MariaDB 96

MySQL/MariaDB 현재 실행중인 쿼리 보기

MySQL/MariaDB 현재 실행중인 쿼리 보기 Version : Mariadb 5.5.4.2-WinX64 현재 실행중인 쿼리 목록 및 명령어를 확인 할 수 있다. 모든 쿼리를 보기 위해서는 root 권한이 필요하다 show full processlist; ID : MySQL 서버의 스레드 ID, 쿼리나 커넥션을 종료시킬 때 식별자로 사용할 수 있다. User : 클라이언트가 MySQL 서버에 접속할 때 인증에 사용한 사용자 계정 Db : 클라이언트가 기본으로 사용하고 있는 데이터베이스 이름 Command : 해당 스레드가 현재 어떤 작업을 처리하고 있는지 표시 Time : Command 컬럼에 표시되는 작업이 얼마나 실행되고 있는지 표시 State : Command 컬럼에 표시되는 내용이 대분류 이면..

MySQL, MariaDB 2015.07.16

MySQL/MariaDB 로그 저장기간 변경

MySQL/MariaDB 로그 저장기간 변경 Version : Mariadb 5.5.4.2-WinX64 앞에서 MySQL/MariaDB에서 로그를 기록하는 방법에 대해서 다루었다. MySQL/MariaDB 에러로그파일 : http://sqlmvp.kr/220356876146 MySQL/MariaDB 제네럴 로그 파일 : http://sqlmvp.kr/220357319171 MySQL/MariaDB 슬로우 쿼리 로그 : http://sqlmvp.kr/220357383281 이렇게 남겨진 로그를 주기적으로 관리하지 않으면 로그의 크기가 계속해서 증가하여 시스템의 디스크 공간부족 등 문제가 발생할 수 있다. 로그의 저장기간을 변경하여 로그기록으로 인한 장애를 방지할 수 있도록 한다. 로그 저장기간을 변경하는 ..

MySQL, MariaDB 2015.07.16

MySQL/MariaDB 슬로우 쿼리 로그

MySQL/MariaDB 슬로우 쿼리 로그 Version : Mariadb 5.5.4.2-WinX64 슬로우 쿼리 로그는 설정에서 정의된 시간보다(second) 오랫동안 실행 된 쿼리에 대해서 기록을 한다. 슬로우 쿼리 로그는 MySQL/MariaDBrk 쿼리를 실행 한 후 실제 소요된 시간을 기준으로 슬로우 쿼리 로그에 기록 여부를 판단하기 때문에 정상적으로 실행이 완료되고 실행 시간이 정의된 시간보다 큰 경우 기록된다. 슬로우 쿼리 로그 파일은 설정파일(my.ini 또는 my.cnf)에서 [mysqld]항목에 다음 명령을 추가한다. 아래 예제는 C:/Program Files/MariaDB 5.5/data/ 폴더에 Slow_Query.log 이름으로 슬로우 쿼리를 기록한다. 그리고 슬로우의 기준을 1초..

MySQL, MariaDB 2015.07.16

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