-
[MySQL] auto.cnf & server-uuid 알아보기Database/MySQL 2022. 12. 19. 22:55반응형
- 목차
auto.cnf ?
auto.cnf 파일은 MySQL 서버가 초기화될 때 자동으로 생성되는 파일입니다.
auto.cnf 파일은 단 하나의 정보를 저장하는데요.
이는 MySQL 이 자신을 식별하기 위한 UUID 를 자동으로 생성하고, 이 server-uuid 를 auto.cnf 파일 에 저장합니다.
server-uuid 는 my.cnf 파일에서 설정하는 server_id 와는 다릅니다.
server-uuid 와 server_id 모두 MySQL 서버를 식별하기 위한 고유값이라는 공통점이 있지만,
server_id 는 MySQL Replication 에서 Primary 와 Replica 를 구별하기 위한 목적으로 사용되며,
server-uuid 는 GTID ( Global Transaction Identifier ) 를 생성하는 목적을 가집니다.
server_uuid 확인해보기.
MySQL 서버를 실행하게 되면 auto.cnf 와 server_uuid 가 자동으로 생성됩니다.
아래의 명령어를 통해서 3개의 MySQL Docker Container 를 생성할 수 있습니다.
docker run -d --rm --name mysql1 -e MYSQL_ALLOW_EMPTY_PASSWORD=1 mysql:8.0.30 docker run -d --rm --name mysql2 -e MYSQL_ALLOW_EMPTY_PASSWORD=1 mysql:8.0.30 docker run -d --rm --name mysql3 -e MYSQL_ALLOW_EMPTY_PASSWORD=1 mysql:8.0.30
일반적으로 /var/lib/mysql 디렉토리 하위에 auto.cnf 파일이 생성됩니다.
docker exec mysql1 cat /var/lib/mysql/auto.cnf docker exec mysql2 cat /var/lib/mysql/auto.cnf docker exec mysql3 cat /var/lib/mysql/auto.cnf
아래와 같이 각 MySQL Server 는 고유한 server-uuid 를 가집니다.
GTID 확인해보기.
server-uuid 는 GTID 를 생성하는 목적으로 활용됩니다.
GTID 는 Global Transaction Identifer 의 약자로써, Primary - Replica 간의 데이터 복제를 돕기 위한 목적을 가집니다.
그래서 일반적으로 Bin Log 와 Relay Log 에서 GTID 를 확인할 수 있습니다.
show master status; 를 통해서 아래와 같은 결과를 확인할 수 있구요.
server-uuid 인 4eeaf24a-d406-11ef-92ef-0242ac110005 이
"4eeaf24a-d406-11ef-92ef-0242ac110005:1-7" 와 같이 GTID 로 사용됩니다.
반응형'Database > MySQL' 카테고리의 다른 글
[MySQL] innodb_rollback_on_timeout 알아보기 (Lock wait timeout exceeded; try restarting transaction) (0) 2024.06.19 [MySQL] foreign_key_checks 알아보기 (0) 2024.03.26 [MySQL] group_concat 함수 알아보기 (0) 2024.03.08 [MySQL] show slave status 알아보기 ( replica status ) (0) 2024.01.10 [MySQL] Slow Query 알아보기 ( slow_query_log, long_query_time ) (0) 2021.12.15