innodb_log_file_sizeの変更


前回に続き、my.cnfに設定を追加して、mysqlを再起動したらエラーが発生。

# /etc/init.d/mysql restart
Shutting down MySQL. SUCCESS!
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/*****.pid).

ログ確認

InnoDB: Error: log file /usr/local/mysql/data/ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 134217728 bytes!

my.cnfでinnodb_log_file_sizeのサイズを変更したのが原因みたいです。
ファイルがなければ自動で作ってくれるようなので、リネームしてMySQLをもう一度起動します。
innodb_log_files_in_groupはデフォルトで2つのファイルが作成されます。今回も変更していないので2つのinnodbログファイルをリネームします。

# cd /usr/local/mysql/data/
# ls -l
total 28684
-rw-rw----. 1 mysql mysql 18874368 Jul  4 06:16 ibdata1
-rw-rw----. 1 mysql mysql  5242880 Jul  4 06:16 ib_logfile0
-rw-rw----. 1 mysql mysql  5242880 Jul  4 05:28 ib_logfile1
drwx------. 2 mysql root      4096 Jul  4 05:27 mysql
drwx------. 2 mysql mysql     4096 Jul  4 05:27 performance_schema
drwxr-xr-x. 2 mysql mysql     4096 Jul  4 05:25 test

# mv ib_logfile0{,.bk}
# mv ib_logfile1{,.bk}

# ls -l
total 28684
-rw-rw----. 1 mysql mysql 18874368 Jul  4 06:16 ibdata1
-rw-rw----. 1 mysql mysql  5242880 Jul  4 06:16 ib_logfile0.bk
-rw-rw----. 1 mysql mysql  5242880 Jul  4 05:28 ib_logfile1.bk
drwx------. 2 mysql root      4096 Jul  4 05:27 mysql
drwx------. 2 mysql mysql     4096 Jul  4 05:27 performance_schema
drwxr-xr-x. 2 mysql mysql     4096 Jul  4 05:25 test

MySQL起動

# /etc/init.d/mysql start
Starting MySQL... SUCCESS!

innodbのログファイルが作られていることを確認

# ls -l
total 290832
-rw-rw----. 1 mysql mysql         5 Jul  4 06:52 *****.pid
-rw-rw----. 1 mysql mysql  18874368 Jul  4 06:16 ibdata1
-rw-rw----. 1 mysql mysql 134217728 Jul  4 06:52 ib_logfile0
-rw-rw----. 1 mysql mysql   5242880 Jul  4 06:16 ib_logfile0.bk
-rw-rw----. 1 mysql mysql 134217728 Jul  4 06:52 ib_logfile1
-rw-rw----. 1 mysql mysql   5242880 Jul  4 05:28 ib_logfile1.bk
drwx------. 2 mysql root       4096 Jul  4 05:27 mysql
drwx------. 2 mysql mysql      4096 Jul  4 05:27 performance_schema
drwxr-xr-x. 2 mysql mysql      4096 Jul  4 05:25 test

 

参考
innodb_log_file_size のサイズを変更するには
MySQLの「innodb_buffer_pool_size」と「innodb_log_file_size」の設定
mysqlをinnodb_buffer_pool_sizeとinnodb_log_file_sizeで速くする