본문 바로가기

RealMySQL3

[RealMySQL 8.0] 4장 아키텍처 4.1 MySQL 엔진 아키텍처쿼리의 처리는 MySQL 엔진 -> 스토리지 엔진 순서로 처리된다.MySQL 엔진MySQL의 핵심적인 기능이 담겨있는 부분이다. 다음 내용은 처리 순서대로 아키텍처를 설명한 것이다.클라이언트의 연결을 생성한다. : 커넥션 핸들러가 담당한다.문자열인 SQL을 MySQL이 처리할 수 있도록 구조화한다. : SQL 파서가 담당한다.기본 문법 오류는 여기서 발견된다.구조화된 SQL이 유효한 지 검사한다 : 전처리기가 담당한다.테이블 이름, 칼럼 이름, 내장 함수들이 존재하는지 확인한다.권한을 확인한다.쿼리를 효과적으로 실행하기 위해 쿼리 실행 계획을 작성한다. : 옵티마이저가 담당한다.가장 저렴한 비용으로 쿼리를 수행하기 위한 전략을 세운다.데이터의 통계 정보, 인덱스 정보 등을 .. 2024. 12. 16.
[RealMySQL 8.0] 3장 사용자 및 권한 3.1 사용자 식별MySQL은 사용자 계정과 접속 위치로 계정을 식별한다.모든 외부 클라이언트에서 접속이 가능하다면 'user_id'@'%' 처럼 호스트부분을 % 문자로 대체하면 된다.로그인 시 권한이나 계정 정보는 가장 작은 범위에 해당하는 정보에 매칭된다.관리 편의상 가급적 중복이 되지 않도록 하자.3.2 사용자 계정 관리8.0 부터 계정은 시스템 계정과 일반 계정으로 구분된다.시스템 계정 : SYSTEM_USER 권한을 가지고 있다. 데이터베이스 관리를 위한 계정이다.계정관리, 타 세션 쿼리 강제 종료 등이 가능하다.일반 계정 : SYSTEM_USER 권한을 가지고 있지 않다. 일반적인 데이터베이스 사용을 위한 계정이다.내장된 계정'mysql.sys'@localhost : 내장 스키마 객체의 DEF.. 2024. 12. 14.
[RealMySQL 8.0] 1장. 소개, 2장. 설치와 설정 1.1 MySQL 소개MySQL이 오픈소스인 것은 여러 회사에서 MySQL이 사용되는 중요한 이유이다.그러나, MySQL이 처음부터 오픈소스였던 것은 아니다. 약 45년전인 1979년 Tcx 사의 사내 터미널 인터페이스에서부터 시작해 사내 데이터베이스로 변모 과정을 거쳐 1996년 사외에 공개됐다.MySQL은 오픈소스이나, 무제한적으로 사용할 수 있는 것은 아니다. 두 가지 라이센스 정책이 있다.MySQL 커뮤니티 에디션은 별도의 라이선스 계약 없이 사용할 수 있다. 소스코드도 공개된다.MySQL 엔터프라이즈 에디션은 커뮤니티 에디션에 스레드풀 등 추가 기능을 덧붙인 에디션이다. 오라클과 사용 계약을 맺고 사용해야하며, 소스코드는 공개되지 않는다.MySQL은 5.7 버전까지는 성능 개선이 주를 이뤘으나,.. 2024. 12. 10.