분류 전체보기

[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..

[MySQL] LOCK INSTANCE FOR BACKUP, UNLOCK INSTANCE 사용 방법 및 예시
MySQL LOCK INSTANCE FOR BACKUP과 UNLOCK INSTANCE 설명 LOCK INSTANCE FOR BACKUP과 UNLOCK INSTANCE는 MySQL 8.0부터 도입된 백업 관련 명령어입니다. 이 명령어들은 데이터베이스의 일관성 있는 백업을 위해 사용됩니다. 1. LOCK INSTANCE FOR BACKUP - 인스턴스 수준의 백업 잠금을 수행합니다. - DDL 작업을 차단하여 백업 중 스키마 변경을 방지합니다. - DML 작업(SELECT, INSERT, UPDATE, DELETE)은 계속 허용됩니다. 2. UNLOCK INSTANCE - 설정된 백업 잠금을 해제합니다. - 차단되었던 DDL 작업이 다시 가능해집니다. 사용 예시:-- 백업을 위한 인스턴스 잠금LOCK INS..

[MySQL] SAVEPOINT, ROLLBACK TO SAVEPOINT, RELEASE SAVEPOINT 사용 방법 및 예시
안녕하세요. 오늘은 MySQL의 트랜잭션 관리에 있어 중요한 역할을 하는 SAVEPOINT, ROLLBACK TO SAVEPOINT, 그리고 RELEASE SAVEPOINT 문에 대해 알아보겠습니다.1. SAVEPOINTSAVEPOINT는 트랜잭션 내에서 특정 지점을 표시하는 기능입니다. 이를 통해 트랜잭션의 일부분만 롤백할 수 있게 됩니다.사용 방법:SAVEPOINT savepoint_name;예시:START TRANSACTION;INSERT INTO users (name, email) VALUES ('John', 'john@example.com');SAVEPOINT sp1;INSERT INTO users (name, email) VALUES ('Jane', 'jane@example.com');2. R..

[MySQL] 트랜잭션 COMMIT, ROLLBACK 사용 방법 및 예시
안녕하세요. 오늘은 MySQL에서 중요한 개념인 트랜잭션 제어에 대해 알아보겠습니다. 특히 START TRANSACTION, COMMIT, ROLLBACK 명령어에 대해 자세히 살펴보겠습니다.1. START TRANSACTIONSTART TRANSACTION은 새로운 트랜잭션의 시작을 나타냅니다. 이 명령어 이후에 실행되는 모든 SQL 문은 하나의 작업 단위로 간주됩니다. 예시:START TRANSACTION;INSERT INTO accounts (account_number, balance) VALUES (12345, 1000);UPDATE accounts SET balance = balance - 500 WHERE account_number = 12345; 2. COMMITCOMMIT은 트랜잭션의 모든..