Page tree

개요

innodb_log_file_size 는 transaction 의 redo log 를 저장하는 로그 파일의 사이즈로 기본(ver 5.5)은 5,242,880  로 설정되어 있습니다.

이는 실제 운영 환경에서 사용하기에는 너무 작은 값이므로 256M 이상을 권장합니다.


설정

단순히 my.conf 에 위 값을 설정하고 MySQL 을 재구동하면 설정 값과 실제 로그 파일 사이즈가 달라서 다음과 같은 에러가 나고 구동되지 않습니다.

 

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
160203 20:56:49 [ERROR] Plugin 'InnoDB' init function returned error.
160203 20:56:49 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160203 20:56:49 [ERROR] Unknown/unsupported storage engine: InnoDB
160203 20:56:49 [ERROR] Aborting

 

  1. 먼저 MySQL 을 종료합니다.

    service mysqld stop
  2. /etc/my.cnf 를 수정합니다.

    [mysqld]
    max_allowed_packet=512M
    innodb_log_file_size=512M
  3. 기존 redo log 파일을 삭제하거나 다른 폴더로 이동합니다. 로그 파일명은 ib_logfile 이며 뒤에 숫자가 붙어 있을수 있으며 /var/lib/mysql/ 위치합니다.

    mv /var/lib/mysql/ib_logfile* ~/ 
  4. MySQL을 재시작합니다.

    service mysqld start

 

Ref