MySQL 서버 버전을 업그레이드 하는 버전은 아래 두 가지 방법이 있다.들어가기 앞서 메이저 버전 업그레이드는 소수점 첫째자리가 변하는 경우 예를 들어 5.5 -> 5.7로 바뀌는 경우를 말하며 마이너 버전 업그레이드는 소수점 둘째자리 이하의 숫자가 바뀌는 경우를 말
유닉스 계열의 MySQL 서버에서 my.cnf라는 설정 파일을 사용한다.윈도우는 my.ini 파일을 사용한다.MySQL에서 사용하는 파일을 찾으려면 mysql -help라는 명령어를 입력하여 여러 설명들 중 다음 구문을 찾을 수 있다. 해당 경로들을 순차적으로 접근하여

사용자 사용자 식별 MySQL에서 사용자 계정은 사용자명과 IP주소로 이루어져있다. 만약 사용자명이 같은 전체IP, 상세IP 계정이 있을 경우 상세IP 계정으로 인증을 확인하게 된다. 시스템 계정과 일반 계정 시스템 계정(System Account)은 데이터 베이스
엔진 구조 MySQL은 머리 역할을 담당하는 MySQL엔진과 손발 역할을 담당하는 스토리지 엔진이 있다. MySQL엔진은 서버당 하나만 가지고 스토리지 엔진은 여러개를 동시에 사용할 수 있다. MySQL엔진 클라이언트로부터 접속 및 쿼리 요청을 처리하는 커넥션 핸들러
InnoDB MySQL에서 사용할 수 있는 스토리지 엔진 중 거의 유일하게 레코드 기반의 잠금을 제공하여 높은 동시성 처리가 가능하며 안정적이고 성능이 뛰어나다. 특징 프라이머리 키에 의한 클러스터링 다른 스토리지 엔진과 다르게 프라이머리 키 값의 순서대로 디스크에
트랜잭션 하나의 논리적인 작업 셋을 의미하며 여러 개의 쿼리가 포함되어 해당 작업 셋 자체가 전부 적용되거나 전부 적용되지 않음을 보장하는 기능이다. 잠금 여러 커넥션에서 같은 레코드에 접근할 경우 하나의 커넥션에게만 권한을 부여하여 동시성을 제어하기 위한 기능이다.
데이터 베이스는 여러 사용자가 동시에 접근할 수 있는 프로그램이다. 여러 사용자의 동시성 제어를 하기위해 트랜잭션이라는 하나의 작업단위 셋을 제공하는데 격리수준이란 여러 트랜잭션이 동시에 처리될 때 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수

데이터베이스에는 보안이 중요한 정보들이 저장되는 경우가 있다. 이러한 경우 애플리케이션에서 알고리즘을 이용해 데이터를 암호화해서 넣기도 하지만 MySQL 서버 자체에서도 실제 디스크에 저장된 데이터를 읽고 쓰는 단계(I/O레이어)에서 데이터의 암호화 및 복호화를 지원해
인덱스 인덱스를 설명할 때 자주 사용되는 표현으로 책의 목차를 이용한다. 목차를 인덱스를 나타내고 내용은 데이터 파일을 나타낸다. 인덱스는 키와 값이 쌍을 이루는데 키는 인덱스 컬럼의 값이고 값은 레코드에 주소를 가지고 있다. 인덱스에서 중요한 점은 컬럼의 값을 주어
DBMS에서 쿼리를 실행해서 결과를 얻게 되는데 이때 같은 결과를 얻더라도 내부적으로 다양한 방법을 통해 결과를 얻을 수 있다. 이러한 방법 중 옵티마이저는 테이블의 데이터가 어떤 분포로 저장돼 있는지 통계 정보를 참고하여 가장 효율적인 방법을 찾는 역할을 한다. 이러
옵티마이저는 통계 정보와 옵션을 결합해서 실행계획을 수립한다. 옵티마이저 옵션은 초기부터 제공되는 옵션과 5.5버전부터 지원되는 옵티마이저 스위치가 있으며 기본 값이 설정되어 있지만 조인이 많이 사용되는 서비스에 따라서는 옵션 값이 각각 어떤 동작을 하는지 알고 있을
MySQL에서 옵티마이저가 최적화 되어 좋은 성능을 보이지만 간혹 우리가 의도한대로 동작하지 않는 경우가 있다. 이러한 경우를 위해 힌트를 제공하여 원하는 방향으로 쿼리가 실행되게 할 수 있다. 힌트의 종류는 인덱스 힌트와 옵티마이저 힌트가 있고 아래서 자세히 알아보자
SELECT 문장 RDBMS에서 INSERT, UPDATE 쿼리는 성능 문제를 일으키는 경우가 거의 없다. 조회 쿼리는 빈번하게 이루어지기도 하고 어떻게 작성하느냐에 따라 성능차이가 몇백배 차이가 나기 쉽기 때문에 자세히 알아보자. SELECT 절 실행순서 SELEC
DDL은 DBMS의 모든 오브젝트를 생성하거나 변경하는 쿼리를 의미하며 서버에 상당한 부하를 시키는 작업들이 있으니 주의해야한다.이전에는 테이블 구조가 변경되는 경우 다른 커넥션에서 해당 테이블을 조회할 수 없었지만 이를 가능하게 하는것이 온라인 DDL이다.위와 같이