메모리 할당 및 사용 구조

책너두 6기 8일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.86 ~ p.97 내용정리 04 아키텍처 4.1.3 메모리 할당 및 사용 구조 글로벌 메모리 영역 : InnoDB 버퍼 풀, MyISAM 키 캐시, 바이너리 로그 버퍼, 리두 로그 버퍼, 테이블 캐시 세션(커넥션) 메모리 영역 : 조인 버퍼, 정렬(sort) 버퍼, 네트워크 버퍼, 리드 버퍼 4.1.3.1 글로벌 메모리 영역 글로벌 메모리 영역의 모든 메모리 공간은 MySQL 서버가 시작되면서 운영체제로부터 할당된다. 클라이언트 스레드의 수와 무관하게 하나의 메모리 공간만 할당되지만 필요에 따라 그 이상도 가능하다. 클라이언트의 스레드 수와 무관하며 생성된 영역이 다수더라도 모든 스레드에 의해 공유된다. ...

2023년 9월 12일 · 8 분 · 배준수

MySQL 서버

책너두 6기 7일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.76 ~ p.85 내용정리 04 아키텍처 MySQL 서버 : 사람의 머리 역할(MySQL 엔진) + 손발 역할(스토리지 엔진)로 구분 스토리지 엔진은 핸들러 API를 만족하면 누구든지 구현해서 MySQL 서버에 추가해서 사용할 수 있음. MySQL 서버에서 기본으로 제공 : InnoDB 스토리지 엔진, MyISAM 스토리지 엔진 4.1 MySQL 엔진 아키텍처 MySQL 서버는 다른 DBMS에 비해 독특하다. 4.1.1 MySQL의 전체 구조 4.1.1.1 MySQL 엔진 클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러와 SQL 파서 및 전처리기, 쿼리의 최적화된 실행을 위한 옵티마이저가 중심을 이룬다. ...

2023년 9월 11일 · 3 분 · 배준수

권한

책너두 6기 6일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.65 ~ p.75 내용정리 03 사용자 및 권한 3.4 권한(privilege) 글로벌 권한 객체 권한 데이터베이스나 테이블이외의 객체에 적용 데이터베이스나 테이블을 제어하는데 필요 grant명령에서 특정 객체를 명시X 권한을 부여할 떄 반드시 특정 객체 명시 ALL(또는 all privileges) 글로벌과 객체 권한 두 가지 용도로 사용 될 수 있음. 특정 객체에 ALL 권한이 부여되면 해당 객체에 적용될 수 있는 모든 객체 권한을 부여 글로벌로 ALL이 사용되면 글로벌 수준에서 가능한 모든 권한 부여 ...

2023년 9월 9일 · 2 분 · 배준수

사용자 식별

책너두 6기 5일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.52 ~ p.64 5일차 03 사용자 및 권한 MySQL에서 사용자 계정을 생성하는 방법이나 각 계정의 권한을 설정하는 방법은 다른 DBMS와 차이 가 있음. MySQL은 ID 뿐 아니라 접속 IP도 확인함. Role로 권한을 묶는 개념이 있음 3.1 사용자 식별 MySQL의 사용자는 계정뿐 아니라 접속 지점(호스트명이나 도메인 또는 IP 주소)도 계정의 일부가 됌. 따라서 계정을 언급할 때 아이디와 호스트를 함께 명시 백슬래시(`)는 식별자를 감싸는 따옴표 역할을 하는데 홑따옴표(’)로 바뀌어서 사용되기도 함 ...

2023년 9월 8일 · 6 분 · 배준수

my.ini 파일

책너두 6기 4일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.36 ~ p.51 4일차 02 설치와 설정 2.4 서버 설정 MySQL 서버는 일반적으로 단 하나의 설정 파일을 사용하는데 유닉스 계열은 my.cnf, 윈도우 계열에서는 my.ini를 사용한다. mysqld --verbose --help 위 코드는 설치된 mySQL 서버가 어느 디렉토리에서 my.cnf 파일을 읽는지 궁금할 때 실행해 보면 된다. mysqld 프로그램은 MySQL서버의 실행 프로그램을 ㅗ서비스용으로 사용되는 서버에서 이미 MySQL 서버가 실행 중인데 다시 mysqld 프로그램을 시작한다거나 하지 않도록 주의해야한다. ...

2023년 9월 7일 · 8 분 · 배준수

서버 시작하기

책너두 6기 3일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.25 ~ p.35 3일차 2. 설치와 설정 2.2 MySQL 서버의 시작과 종료 MySQL 서버가 설치되면 /etc/my.cnf 설정 파일이 준비되는데, 아주 기본적인 설정만 기록되어 있다. 테스트 용으론 충분하다. 나는 window라 이 챕터는 스킵.. MySQL 서버 업그레이드 서버 업그레이드 방법은 두가지 방법이 있다 MySQL 서버의 데이터 파일을 그대로 두고 업그레이드 => 인플레이스 업그레이드(In-Place Upgrade) mysqldump도구등을 이용해 데이터를 SQL 문장이나 텍스트 파일로 덤프한 후 새로 업그레이드 된 서버에서 덤프된 데이터를 적재 => 논리적 업그레이드(Logical Upgrade) 읽고 나서 아직까진 특별한 사항이 없다.. ...

2023년 9월 6일 · 1 분 · 배준수

소개 DBMS 선택하기

책너두 6기 2일차 백은빈, 이성욱의 Real MySQL8.0 1권 p.1 ~ p.24 2일차 01 소개 DBMS 선택의 기준 : 자기가 가장 잘 활용 할 수 있는 DBMS여야 하지만, 안정성 성능과 기능 커뮤니티나 인지도 순서로 고려할 수 있다. 02 설치와 설정 2.1 MySQL 서버 설치 설치 부분은 이미 이전에 다른 블로그를 보고 설치했기 때문에 넘어갔다. 2.2 MySQL 서버의 시작과 종료 윈도우는 MySQL Workbench라는 GUI를 통해 쉽게 제어할 수 있다. 책의 내용은 리눅스 운영체제의 내용을 다루고 있어 넘어갔다. ...

2023년 9월 5일 · 2 분 · 배준수

MySQL 공부 시작

책너두 6기 1일차 책 : Real MySQL 1권 주제 MySQL에 관한 모든 것. 독서 방법 읽고 ‘그렇구나’가 아니라, 적용해보고 따라해보고 손으로 익히자. 책너두에 임하는 다짐 그동안 내가 사용한 데이터베이스는 MongoDB 뿐이었다. 취준을 하다보면 느끼겠지만 SQL 관련하여 코딩테스트를 진행하기도 하고, 기술스택으로도 많이 요구한다. 진작에 공부했어야 했지만 미루다가 책너두를 통해 할 수 있는 원동력을 얻었다. 꼭 완주하자.

2023년 9월 4일 · 1 분 · 배준수