InnoDB: is in the future

Hi,
I changed the innodb_log_file size from 1GB to 4GB and restarted Mysql, but noticed that ls -lah ib_logfile* still showed 1GB so I restarted Mysql again, this time the ib_logfile* showed 4GB but now the error log is filled with:
InnoDB: is in the future! Current system log sequence number 139654003953.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files

Mysql is running and appears to be OK. If I shut down Mysql and move the ib_logfiles will Mysql recreate the logs and fix the error log entries?
MySQL 5.6.17

Hi kernow;

Yeah normally you would want to shutdown MySQL first, so it has time to write everything to disk properly, then change the log file size, delete/move the old ib_logfile’s, and then start up MySQL again so that it will re-create the files in the larger size.

Since you’ve already restarted MySQL a few times, any damage is already done, but you probably are okay assuming you do not have a super active database with lots of transactions going on. So for now I would follow the usual process of changing the log file size and then you should be good:

http://dev.mysql.com/doc/refman/5.5/en/innodb-data-log-reconfiguration.html

-Scott

Hi,
I didn’t carry out the procedure you mention above because were using 5.6.17 and as of 5.6.8 its not required any more. You can just edit my.cnf and restart. See the paragraph after item 6 http://dev.mysql.com/doc/refman/5.6/en/innodb-data-log-reconfiguration.html So is there any other reason damage could have been caused?

Hi kernow;

Ah yes, I did not see the version there at the end of your post.

Did you stop MySQL first, change the value, and then start it back up? Based on your description it sounds like you changed the value, then restarted MySQL. So basically the process is the same as in 5.5, the only difference is you do not have to move/delete the ib_logfile0/1 (and you do not need to modify innodb_fast_shutdown), but you still need to shut down MySQL first.

-Scott

Yes, MySQL was stopped before editing my.cnf so not sure why we have the errors. But was asking if we remove the logs would they get recreated again in this version and would that fix the errors in the logs?

Hi kernow;

Hard to say what will happen exactly once it gets into that state. At this point you should look into the various ways to fix it:

http://www.percona.com/blog/2013/09/11/how-to-move-the-innodb-log-sequence-number-lsn-forward/

Basically some combination of events with the ib_logfile change and perhaps related or unrelated data corruption, the LSN positioning is now messed up. The above link has a few possibilities as to how to fix it, some either than others depending on how large your database is and what the uptime requirements are.

-Scott