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
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”