본문 바로가기
컴퓨터

👨‍💻 [MySQL] MySQL에서 innodb_log_file_size 란 무엇인가요?

by 밝음의기둥 2025. 4. 11.
반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

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는 실행 중에 바로 변경이 불가능하며, 변경하려면 아래와 같은 절차가 필요합니다:

  1. MySQL 종료
  2. 기존 로그 파일 삭제 (ib_logfile0, ib_logfile1 등)
  3. my.cnf 수정
  4. MySQL 재시작

⚠️ 백업 필수! 로그 파일 삭제는 위험하니 반드시 백업 후 진행해야 합니다.



🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리(Willee) 입니다. 📢 위로그@WiLog 는 자기계발을 목적으로 하는 채널 입니다. 📢 오늘도 즐겁게~ 자신을 위한 계발을 함께 해보아요~ d^_^b 📌

www.youtube.com

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com


반응형