MYSQL 엔진 아키텍처 -. 요청된 SQL 문장을 분석하거나 최적화하는 등, DBMS의 두뇌에 해당하는 처리를 수행한다. -. MySQL 엔진의 중심 구성 요소 접속 및 쿼리 요청을 처리하는 커넥션 핸들러 SQL파서 -. 들어온 쿼리를 MySQL이 인식할 수 있는 어휘나 기호로 분리해 트리 형태의 구조로 만들어내는 작업을 수행한다. -. 쿼리의 기본 문법 오류가 이 과정에서 발견되고 사용자에게 오류 메세지를 전달한다. 전처리기 - 파서 과정에서 만들어진 파서 쿼리를 기반으로 문장에 구조적 문제점을 확인한다. -. 데이블 이름이나, 컬럼, 내장 함수와 같은 개체를 매핑해 객체의 존재 여부와 접근 권한 등을 확인하는 과정을 수행한다. 옵티마이저 -. 쿼리를 저렴한 비용으로 가장 빠르게 할 수 있도록 최적화..
모니터링해야하는 주요 값들 https://experiences.tistory.com/24 MYSQL 모니터링 툴 종류 정리 https://otsteam.tistory.com/418 쿼리 1. DATA 명칭 설명 요구사항 쿼리 Data_Types 테이블별 데이터 타입의 개수 MySQL v5.0+ SELECT DATA_TYPE AS Data_Type, COUNT(1) AS Number FROM information_schema.COLUMNS WHERE TABLE_SCHEMA NOT IN (‘information_schema’, ‘mysql’,’performance_schema’) GROUP BY Data_Type ORDER BY Number Database_Size Top 5 데이터베이스의 사이즈 MySQL..
Backup 비교핫 백업 (Hot Backup/Open Backup)DB 서버를 온라인 상태로 유지한 채 데이터 백업- 데이터베이스 서버를 중지하지 않고 백업 가능- 트랜잭션, 스냅샷, 로그 등을 이용하여 실시간 백업- Archive Log 모드에서만 백업을 수행할 수 있음- 디스크 용량이 추가로 요구될 수 있음- 핫 백업 도구를 사용할 때의 비용이 발생할 수 있음콜드 백업 (Cold Backup/Close Backup)DB 서버를 중지한 후 데이터 백업- 쉬운 백업이 가능함- 데이터 백업을 요청한 시기 이후의 데이터는 백업할 수 없음 (따라서 일부 데이터 손실이 발생할 수 있음)논리 백업 (Logical Backup)각 오브젝트를 SQL문 등으로 저장- 데이터의 쉬운 검토 가능- 데이터 백원 및 복원 ..
DB의 Engine는 테이블로 InnoDB와 MyISAM을 줄수 있다. -. 단순한 형태, 연관 관계(relationship)가 복잡하지 않고, Row Level의 Transaction 관리가 필요없다면 MyISAM이 속도가 빠르다. -. Dump된 파일을 복원할 때 엔진타입이 InnoDB이면, 느릴수 있다. 이경우 일시적으로 DB table의 엔진 타입을 MyISAM으로 변경해주면 작업 속도에 유용하다. Convert A Single Table to InnoDB alter table test1.test_tab1 ENGINE=INNODB; Convert A Single Table to MyIASM alter table test1.test_tab1 ENGINE=MYISAM; (참고: https://www...
백업 논리적 백업 (mysqldump를 이용하여 텍스트 형식으로 테이블의 내용을 저장하는 백업) -. mysql 서버에 접속해서 데이터를 복구 하기 위한, create table, insert .. 문을 만들어 내기 때문에 물리적 백업보다 오래걸린다. -. 테이블에 존재하는 index에 대한 정보는 백업 내용에 포함되어 있지 않지만, 덤프파일을 이용해서 데이터를 복구 시에는 인덱스가 생성된다. -. 설정파일이나, 로그파일 등은 백업되지 않는다. -. --opt옵션을 사용하면 덤프과정을 최적화 시키지만, --opt를 사용하는 순간 모든 테이블에 lock을 설정하기 때문에 다른 세션에서 DML이 불가능하다. -. --opt옵션은 기본적으로 extended-insert를 활성화 시켜서, 한 건 한 건 inse..
MYSQL 에서 스키마와 데이터베이스 MYSQL의 경우 사람에따라 스키마를 데이터베이스라고 부르는 지만 같은 의미다. CREATE SCHEMA test DEFAULT CHARACTER SET utf8; CREATE DATABASE test DEFAULT CHARACTER SET utf8; 두 명령어가 동일한 결과를 냅니다. EX> mysql schema(database) , user 관계 1. root와 test_user1계정이 존재 mysql> select host , user , plugin , password_last_changed , password_expired , account_locked from user ; +-----------+------------------+--------------..