How to Change innodb_log_file_size

July 9, 2011
Author
Baron Schwartz
Share this Post:

If you need to change MySQL’s innodb_log_file_size parameter (see How to calculate a good InnoDB log file size), you can’t just change the parameter in the my.cnf file and restart the server. If you do, InnoDB will refuse to start because the existing log files don’t match the configured size.

Changing the innodb_log_file_size safely

You need to shut the server down cleanly and normally and move away (don’t delete) the log files, which are named ib_logfile0, ib_logfile1, and so on. Check the error log to ensure there was no problem shutting down. Then restart the server and watch the error log output carefully. You should see InnoDB print messages saying that the log files don’t exist. It will create new ones and then start. At this point, you can verify that InnoDB is working, and then you can delete the old log files.

The typical error message you’ll see in the client when InnoDB has refused to start due to log file size mismatch looks like this:

That really means that InnoDB hasn’t started, and MySQL is trying to access a table with the InnoDB storage engine, which is failing, of course.

More Resources

Posts

eBooks (free to download)

Database Tools

Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Far
Enough.

Said no pioneer ever.
MySQL, PostgreSQL, InnoDB, MariaDB, MongoDB and Kubernetes are trademarks for their respective owners.
© 2026 Percona All Rights Reserved