SQL/MYSQL
[MySQL] STOP GROUP_REPLICATION 사용 방법 및 예시
STOP GROUP_REPLICATION은 MySQL 서버에서 그룹 복제를 중지하는 명령문입니다. 이 명령어를 실행하면 해당 서버는 그룹에서 탈퇴하고 복제 작업을 중단하게 됩니다. 기본 구문STOP GROUP_REPLICATION;주요 특징 1. 실행 시 해당 서버는 즉시 그룹에서 탈퇴합니다. 2. 진행 중인 트랜잭션은 롤백됩니다. 3. 서버는 단독 운영 모드로 전환됩니다. 4. 실행하려면 GROUP_REPLICATION_ADMIN 권한이 필요합니다. 사용 예시-- 그룹 복제 중지STOP GROUP_REPLICATION;-- 상태 확인SELECT * FROM performance_schema.replication_group_members;주의사항 - 그룹의 마지막 멤버에서 실행할 경우, 그룹이 완전히 종..
[MySQL] START GROUP_REPLICATION 사용 방법 및 예시
START GROUP_REPLICATION은 MySQL 서버에서 그룹 복제를 시작하는 데 사용되는 SQL 명령문입니다. 이 명령어는 현재 서버를 그룹 복제 토폴로지에 참여시키는 역할을 합니다. 기본 구문START GROUP_REPLICATION;또는 특정 옵션을 지정할 수 있습니다:START GROUP_REPLICATION [group_replication_bootstrap_group=ON|OFF];주요 특징 1. 그룹의 첫 번째 서버를 시작할 때는 bootstrap 옵션을 사용해야 합니다. 2. 이미 실행 중인 그룹에 새 멤버를 추가할 때는 일반 START GROUP_REPLICATION을 사용합니다. 3. 실행 전 필요한 모든 그룹 복제 설정이 완료되어 있어야 합니다. 사용 예시 첫 번째 서버 시작하..
[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..