MySQL Reference를 참고하였고 Jade's blog의 글도 참고하여 작성하였다.
📌 GTID
- Global Transaction IDentifier
- MySQL 데이터베이스에서 커밋이 되는 트랙잭션과 함께 생성되고, 트랜잭션에 연결되는 고유 식별자
- 모든 transaction 과 모든 GTID 은 일대일 매핑.
- Master 서버, Replica(slave) 서버 모두에서 고유한 식별자임.
Syntax
GTID = source_id(server_uuid):transaction_id
3E11FA47-71CA-11E1-9E33-C80AA9429562:23
source_id는 원본 서버를 식별하는데 사용됨. 일반적으로 server_uuid가 이용됨. 아래의 📌 server_uuid 참고.
- transaction_id : N번째 트랙잭션 임을 의미
📌 server_uuid
uuid
- Universally Unique IDentifier
- 네트워크상에서 고유성을 보장하는 ID를 만들기 위한 표준 규약
- 32개의 16진수로 구성됨. 5개의 그룹으로 표시됨. 각 그룹은 붙임표(-)로 구분함.
- 데이터베이스의 프라이머리 키(primary key)로 종종 사용함.
example
280a8a4d-a27f-4d01-b031-2a003cc4c039
server_uuid
Syntax
select @@server_uuid;
위 처럼 조회를 하면
이렇게 출력된다.