데이터베이스
-
4장 1.2 MySQL 스레딩 구조데이터베이스/Real MySQL 8.0 2022. 8. 9. 16:53
MySQL 서버는 스레드 기반으로 작동하며, 포그라운드 스레드와 백그라운드 스레드로 구분할 수 있습니다. 포그라운드 스레드 포그라운드 스레드는 최소 MySQL에 접속된 클라이언트의 수만큼 존재하며, 주로 각 클라이언트 사용자의 쿼리 요청을 처리합니다. 데이터를 MySQL의 데이터 버퍼나 캐시로부터 가져오며, 버퍼나 캐시에 없는 경우 직접 디스크나 인덱스 파일로부터 데이터를 읽어와 작업을 처리합니다. MyISAM 엔진의 경우 읽기와 쓰기 작업 모두 포그라운드 스레드에서 처리하지만 InnoDB 엔진은 쓰기 작업은 백그라운드 스레드에서 처리합니다. 백그라운드 스레드 InnoDB의 여러 작업들은 백그라운드로 처리됩니다. 인서트 버퍼를 병합하는 스레드 로그를 디스크로 기록하는 스레드 InnoDB 버퍼 풀의 데이터..
-
4장 1.1 MySQL의 구조데이터베이스/Real MySQL 8.0 2022. 8. 9. 13:49
MySQL은 크게 MySQL 엔진과 스토리지 엔진으로 구분할 수 있습니다. MySQL 엔진은 쿼리의 직접적인 처리를 담당하고, 스토리지 엔진은 실제 데이터의 R/W 작업을 담당합니다. MySQL 엔진은 데이터 예약어/정의어, 스토어드 프로시저, 뷰 등이 저장된 SQL 인터페이스, 클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러, SQL 파서 및 SQL 옵티마이저와, 캐시 및 버퍼로 이루어져 있습니다. 스토리지 엔진은 데이터를 추출하고, 저장을 담당하는 부분입니다. MySQLAB 또는 서드파티에서 제작한 엔진들이 모여있는데, 각각의 엔진들의 장단점이 다르기 때문에 상황에 맞는 엔진을 골라 쓰면 됩니다. 참조) https://mysqldba.tistory.com/2 MySQL 서버에서 MySQ..
-
3장 3. 권한 및 역할데이터베이스/Real MySQL 8.0 2022. 8. 7. 21:44
권한 권한의 종류는 3가지로 구분됩니다. 글로벌 권한 : 데이터베이스나 테이블 이외의 객체에 적용되는 권한 권한을 부여할 때 객체를 명시하지 말아야 합니다. 객체 권한 : 데이터베이스나 테이블을 제어하는 데 필요한 권한 권한을 부여할 때 특정 객체를 명시해야 합니다. 동적 권한 : MySQL 서버가 시작되면서 컴포넌트나 플러그인이 설치되면 생성, 등록되는 권한 MySQL 8.0 버전부터 추가된 권한으로, 위의 권한들은 정적 권한으로 구분됩니다. - 정적 권한 : MySQL의 서버의 소스코드에 고정적으로 명시되어 있는 권한 권한 종류 레퍼런스 권한 부여 GRANT 권한 ON 데이터베이스명.테이블명 TO 'user'@'localhost'; TO 절의 계정에게 ON절의 데이터베이스에 대한 권한을 부여합니다. ..
-
3장 2. 비밀번호 관리데이터베이스/Real MySQL 8.0 2022. 8. 7. 20:55
고수준 비밀번호 비밀번호 보안을 위해서는 금칙어를 설정해야 합니다. 이를 위해 MySQL에 validate_password 라는 컴포넌트를 설치할 수 있습니다. - MySQL 5.7 버전 이하는 플러그인 형태로 지원됩니다. 컴포넌트 설치 시, 제공되는 시스템 변수와 역할은 다음과 같습니다. (validate_password.)check_user_name : 비밀번호에 아이디가 포함되어 있는지 확인합니다. dictionary_file : 변수안에 저장된 단어들을 금칙어로 지정합니다. length : 비밀번호의 최소 길이를 지정합니다. mixed_case_count : 숫자, 대소문자, 특수문자가 몇 가지를 포함되어야 하는지 설정합니다. number_count : 최소 포함해야 하는 숫자 개수를 지정합니다...
-
3장 1. 사용자 계정 관리데이터베이스/Real MySQL 8.0 2022. 8. 7. 20:52
MySQL 사용자 생성 쿼리 CREATE USER 'user'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'password' REQUIRE NONE PASSWORD EXPIRE INTERVAL 30 DAY PASSWORD HISTORY 5 PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT ACCOUNT UNLOCK 1. 사용자 식별 및 생성 CREATE USER 'user'@'localhost' # '유저명'@'접속 지점' MySQL에서는 사용자 계정뿐 아니라 접속 지점도 계정 정보에 포함됩니다. 접속 지점에는 도메인, 호스트 명, IP 주소가 입력될 수 있습니다. 동일한 이름을 가진 계정이 있을 ..