Bug #88746 | Simplify configuration of InnoDB page size | ||
---|---|---|---|
Submitted: | 4 Dec 2017 22:59 | Modified: | 19 Oct 2020 12:34 |
Reporter: | Simon Mudd (OCA) | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S4 (Feature request) |
Version: | 5.7+ | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | innodb, installation, page size |
[4 Dec 2017 22:59]
Simon Mudd
[5 Dec 2017 11:18]
Simon Mudd
A colleague figured out how to check the page size in 5.7 and earlier. $ perl -Mstrict -we' # strict + warnings $/ = \0x1000; # use a 4k IO-buffer defined(my $s = <>) or exit; # read from file $s = substr($s, 54, 4); # isolate 4 bytes $s = unpack "L", $s; # convert to unsigned long $s >>= 14; # drop some bits $s &= 15; # keep bottom 4 bits $s ||= 5; # default to 5 (16k); 1=1k, 2=2k, 3=4k, 4=8k, 6=32k, 7=64k print"innodb_page_size=", 1<<($s-1), "k\n"; ' path/to/ibdata1 innodb_page_size=8k Written in perl but explained nicely. I'll probably add some version of this to my configuration code so the my.cnf file has the right value, but I do think that it should NOT be necessary to configure this setting except when building a new instance and only if you want to try a non-default value. I'd also like to know which would be the best file to test in 8.0 given there have been changes there and there's a new data dictionary and maybe these are the tables that should be checked?
[19 Oct 2020 12:34]
MySQL Verification Team
Hi Mr. Mudd, Thank you for your feature request. We find that your request is fully valid. Verified as reported.