반응형
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
👨💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.
MySQL에서 innodb_log_file_size 란 무엇인지 간략히 알아보았습니다.
질문 >
MySQL에서 innodb_log_file_size 란 무엇인가요?
답변 >
innodb_log_file_size는 MySQL의 InnoDB 스토리지 엔진에서 Redo Log 파일 하나의 크기를 설정하는 항목입니다. Redo Log는 트랜잭션의 변경 내용을 디스크에 반영하기 전에 로그로 먼저 기록하는 구조로, InnoDB의 크래시 복구(Crash Recovery) 를 가능하게 합니다.
🔍 innodb_log_file_size 설명
- 역할:이 로그는 ib_logfile0, ib_logfile1 등의 파일로 저장됩니다.
- InnoDB가 데이터를 변경할 때, 실제 데이터 파일을 업데이트하기 전에 Redo 로그에 먼저 기록합니다.
- 기본 위치:
- MySQL 데이터 디렉터리에 있음 (예: /var/lib/mysql/)
- 관련 설정:
- innodb_log_files_in_group: 로그 파일 개수 (기본 2)
- innodb_log_file_size: 각 파일의 크기
- 총 Redo 로그 공간 = 512MB * 2 = 1GB
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
✅ 왜 중요한가요?
- 쓰기 성능 영향
- 로그 파일이 너무 작으면 자주 디스크로 플러시되어 성능이 저하될 수 있습니다.
- 큰 트랜잭션 처리
- 큰 트랜잭션이 자주 발생하는 경우, 로그 파일이 작으면 "log file full" 문제가 생길 수 있습니다.
- 크래시 복구 시간
- 로그 파일이 너무 크면, MySQL이 재시작 후 복구하는 데 시간이 오래 걸릴 수 있습니다.
💡 설정 시 권장사항
- 트랜잭션이 크거나 빈번한 경우: 로그 파일 크기를 키워서 디스크 flush 빈도를 줄일 수 있음.
- 일반적으로는 총 로그 용량이 innodb_buffer_pool_size의 25% ~ 100% 사이가 적절합니다.
- 예시:
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
⚠️ 변경 시 주의사항
innodb_log_file_size는 실행 중에 바로 변경이 불가능하며, 변경하려면 아래와 같은 절차가 필요합니다:
- MySQL 종료
- 기존 로그 파일 삭제 (ib_logfile0, ib_logfile1 등)
- my.cnf 수정
- MySQL 재시작
⚠️ 백업 필수! 로그 파일 삭제는 위험하니 반드시 백업 후 진행해야 합니다.
🎬 유튜브 채널 🎬
위로그@WiLog
📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리(Willee) 입니다. 📢 위로그@WiLog 는 자기계발을 목적으로 하는 채널 입니다. 📢 오늘도 즐겁게~ 자신을 위한 계발을 함께 해보아요~ d^_^b 📌
www.youtube.com
🎬 치지직 채널 🎬
위로그 채널 - CHZZK
지금, 스트리밍이 시작됩니다. 치지직-
chzzk.naver.com
반응형
'컴퓨터' 카테고리의 다른 글
👨💻 [MySQL] MySQL의 버전 확인 어떻게 하나요? (0) | 2025.04.11 |
---|---|
👨💻 [MySQL] MySQL에서 innodb_buffer_pool_size 를 실시간 반영하려면 어떻게 해야 하나요? (0) | 2025.04.11 |
👨💻 [MySQL] MySQL의 메모리 설정은 어떻게 하나요? (0) | 2025.04.11 |
👨💻 [AWS] AWS 에서 S3 Select에 의해 스캔된 데이터 란 무엇인가요? (2) | 2025.04.02 |
👨💻 [AWS] AWS 에서 S3 Select에 의해 반환된 데이터 란 무엇인가요? (0) | 2025.04.02 |