SQL

    [MySQL] STOP REPLICA 사용 방법 및 예시

    STOP REPLICA는 MySQL에서 복제(Replication) 프로세스를 중지하는 SQL 명령어입니다. 이 명령어는 슬레이브(Replica) 서버에서 실행되며, 마스터(Source) 서버로부터의 데이터 복제를 일시적으로 중단시킵니다. 기본 구문 STOP REPLICA;-- 또는STOP SLAVE; -- MySQL 8.0.22 이전 버전 상세 구문STOP REPLICA [thread_type [, thread_type] ... ]thread_type: IO_THREAD | SQL_THREAD주요 옵션 설명 1. IO_THREAD    - 마스터 서버로부터 바이너리 로그를 읽어오는 I/O 스레드만 중지    - 예시: `STOP REPLICA IO_THREAD;` 2. SQL_THREAD   ..

    [MySQL] START REPLICA 사용 방법 및 예시

    START REPLICA는 MySQL 8.0.22 버전부터 도입된 복제 제어 명령어입니다. 이전 버전의 START SLAVE 명령어를 대체하며, 레플리카(복제 서버)에서 복제 프로세스를 시작하는 데 사용됩니다. 기본 구문 START REPLICA[thread_type [, thread_type] ... ][until_option][connection_options][channel_option] 주요 사용 예시 1. 기본적인 복제 시작START REPLICA; 2. 특정 스레드만 시작START REPLICA SQL_THREAD;START REPLICA IO_THREAD; 3. 특정 위치까지만 복제START REPLICA UNTIL SOURCE_LOG_FILE='mysql-bin.000999', SOURCE..

    [MySQL] RESET REPLICA 사용 방법 및 예시

    RESET REPLICA는 MySQL 복제(Replication) 환경에서 레플리카(슬레이브) 서버의 복제 관련 정보를 초기화하는 SQL 명령문입니다. 기본 문법RESET REPLICA [ALL]주요 특징 1. RESET REPLICA 실행 시 다음 작업이 수행됩니다:    - 마스터 정보 및 좌표 정보 초기화    - 릴레이 로그 파일 삭제    - 복제 관련 상태 변수 초기화 2. ALL 옵션 사용 시 추가로 수행되는 작업:    - connection_name 초기화    - master.info 파일의 모든 내용 삭제    - 채널 관련 정보 완전 제거 사용 예시 기본 사용RESET REPLICA;ALL 옵션 사용 RESET REPLICA ALL;실제 활용 사례 1. 복제 구성 재설정 시 STOP..

    [MySQL] CHANGE REPLICATION FILTER 사용 방법 및 예시

    CHANGE REPLICATION FILTER는 복제 필터링 규칙을 설정하는 MySQL 명령문입니다. 이 명령을 통해 레플리케이션 시 특정 데이터베이스나 테이블을 선택적으로 복제할 수 있습니다. 주요 필터 유형 1. REPLICATE_DO_DB 2. REPLICATE_IGNORE_DB 3. REPLICATE_DO_TABLE 4. REPLICATE_IGNORE_TABLE 5. REPLICATE_WILD_DO_TABLE 6. REPLICATE_WILD_IGNORE_TABLE 기본 문법CHANGE REPLICATION FILTER filter_type = (value_list)[, filter_type = (value_list)]... 사용 예시 특정 데이터베이스만 복제 CHANGE REPLICAT..

    [MySQL] SET sql_log_bin 사용 방법 및 예시

    `SET sql_log_bin` 명령어는 MySQL에서 현재 세션의 바이너리 로깅을 활성화하거나 비활성화하는 데 사용되는 시스템 변수입니다. 기본 문법SET sql_log_bin = {0|1}; - 1: 바이너리 로깅 활성화 (기본값) - 0: 바이너리 로깅 비활성화  주요 특징 1. 세션 범위로 적용됩니다. 2. SUPER 권한이 필요합니다. 3. 현재 연결된 세션에만 영향을 미칩니다. 4. 글로벌 바이너리 로깅 설정에는 영향을 주지 않습니다. 사용 예시-- 현재 세션의 바이너리 로깅 비활성화SET sql_log_bin = 0;-- 데이터 변경 작업 수행INSERT INTO users (name, email) VALUES ('John', 'john@example.com');UPDATE products ..

    [MySQL] RESET BINARY LOGS AND GTIDS 사용 방법 및 예시

    RESET BINARY LOGS AND GTIDS는 MySQL 8.0.23 버전부터 도입된 명령문으로, 기존 바이너리 로그 파일들을 모두 삭제하고 GTID 실행 기록을 초기화하는 기능을 수행합니다. 기본 문법RESET BINARY LOGS AND GTIDS; 주요 특징 1. 모든 바이너리 로그 파일 삭제 2. GTID 실행 기록 초기화 3. 새로운 바이너리 로그 파일 생성 4. index 파일 초기화 실행 예시-- 현재 바이너리 로그 상태 확인SHOW BINARY LOGS;-- GTID 상태 확인SHOW GLOBAL VARIABLES LIKE 'gtid_executed';-- 리셋 명령 실행RESET BINARY LOGS AND GTIDS;-- 리셋 후 상태 확인SHOW BINARY LOGS;SHOW G..

    [MySQL] PURGE BINARY LOGS 사용 방법 및 예시

    MySQL의 PURGE BINARY LOGS 명령은 바이너리 로그 파일을 안전하게 삭제하는 데 사용되는 중요한 관리 명령입니다. 기본 문법 PURGE BINARY LOGS TO 'mysql-bin.000123';-- 또는PURGE BINARY LOGS BEFORE '2023-12-25 12:00:00'; 주요 특징 1. 지정된 로그 파일까지의 모든 이전 바이너리 로그를 삭제합니다. 2. 현재 활성화된 바이너리 로그는 삭제되지 않습니다. 3. 복제 구성에서 슬레이브가 아직 필요로 하는 로그는 삭제되지 않습니다. 사용 예시 1. 특정 로그 파일까지 삭제 sqlPURGE BINARY LOGS TO 'mysql-bin.000123';이 명령은 'mysql-bin.000123' 이전의 모든 바이너리 로그 파일을 ..

    [MySQL] XA Transaction 사용 방법 및 예시

    MySQL XA Transactions 이해하기 XA Transaction은 여러 데이터베이스나 리소스 간의 분산 트랜잭션을 관리하기 위한 표준 프로토콜입니다. MySQL에서 XA Transaction을 사용하면 여러 데이터베이스 간의 일관성을 보장할 수 있습니다. XA Transaction의 주요 특징 1. 2단계 커밋(Two-Phase Commit) 프로토콜 사용 2. 여러 데이터베이스 간의 트랜잭션 정합성 보장 3. 글로벌 트랜잭션 ID를 통한 식별 XA Transaction 기본 구문-- XA 트랜잭션 시작XA START 'transaction_name';-- SQL 구문 실행INSERT INTO table1 VALUES (1, 'data');UPDATE table2 SET column1 = 'n..

    [MySQL] SET TRANSACTION 사용 방법 및 예시

    SET TRANSACTION 문은 트랜잭션의 특성을 설정하는 SQL 구문입니다. 현재 세션이나 다음 트랜잭션에 대한 격리 수준(isolation level)을 지정할 수 있습니다. 기본 문법:SET [GLOBAL | SESSION] TRANSACTION transaction_characteristic [, transaction_characteristic] ...transaction_characteristic:     ISOLATION LEVEL level   | READ WRITE   | READ ONLY격리 수준(level)의 종류: - READ UNCOMMITTED - READ COMMITTED - REPEATABLE READ (MySQL 기본값) - SERIALIZABLE 주요 사용 예시: 1..

    [MySQL] LOCK TABLES, UNLOCK TABLES 사용 방법 및 예시

    MySQL LOCK TABLES와 UNLOCK TABLES 사용법 LOCK TABLES란? LOCK TABLES는 MySQL에서 테이블에 대한 접근을 제어하는 명령어입니다. 특정 테이블을 잠그면 다른 세션에서 해당 테이블에 접근하는 것을 제한할 수 있습니다. 기본 문법LOCK TABLES 테이블명 [READ | WRITE]- READ: 읽기 전용 잠금 - WRITE: 읽기/쓰기 모두 잠금 UNLOCK TABLES란? UNLOCK TABLES는 LOCK TABLES로 설정한 잠금을 해제하는 명령어입니다. 기본 문법UNLOCK TABLES사용 예시 1. 단일 테이블 잠금-- 테이블 잠금LOCK TABLES employees WRITE;-- 데이터 수정 작업 수행UPDATE employees SET salar..