MySQL 5.7.12 refusing to run due to innodb_system data file ‘/var/db/mysql/ibdata1’ being too small

One of my MySQL 5.7.12 instances refused to start after upgrading to FreeBSD’s MySQL port version 5.7.12_1, claiming:

2016-05-18T11:03:26.688719Z 0 [ERROR] InnoDB: The Auto-extending innodb_system data file '/var/db/mysql/ibdata1' is of a different size 4864 pages (rounded down to MB) than specified in the .cnf file: initial 8192 pages, max 0 (relevant if non-zero) pages!

“Googling” the error message led me to http://sharadchhetri.com/2014/11/29/upgrading-mysql-5-1-5-6-service-failed-start/. I added the following line to the [mysqld] section in /var/db/mysql/my.cnf:

innodb_data_file_path = ibdata1:10M:autoextend

At least MySQL is happy.

From the error message I deduced that the current ibdata1 file has a length equal to 4864 pages × 16 KiB/page = 77824 KiB = 76 MiB, while MySQL 5.7.12 expects this to be at least 8192 pages × 16 KiB/page = 131072 KiB = 128 MiB. The current length was confirmed by running ls -l /var/db/mysql/ibdata1:

-rw-r-----  1 mysql  mysql  79691776 18 mai 13:03 /var/db/mysql/ibdata1

In the long run it’s better to retire the old /var/db/mysql/my.cnf in favour of the “new” /usr/local/etc/mysql/my.cnf.

Leave a Reply

Your email address will not be published. Required fields are marked *