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
.
Surbhi Dhingra
perfectly explained. It worked for me, saved a lot of my time. Thanks a lot. Keep up the good work. We need bloggers like you.
Sven Wallman
Great explanation- worked for me.