MySQL-Sandbox installs the MySQL server in isolation, by rejecting existing option files using the option
--no-defaults. This is usually a good thing, because you don't want the initialization to be influenced by options in your
/etc/my.cnf or other options files in default positions.
However, such isolation is also a problem when you need to add options during the initialization. One example is innodb-page-size, which can be set to many values, but only if the server was initialized accordingly. Thus, you can't set
innodb-page-size=64K in your configuration file because the default value is different. It would fail, as InnoDB would conflict.
MySQL-Sandbox 3.2.03 introduces three options that allow flexibility during initialization.
--init_option='some options'will add 'some options' to the initialization command.
- Another possibility is
--init_my_cnfwhich will load the sandbox configuration file. This is simple, but sometimes it may case initialization issues, depending on what else is in the options file.
--init_use_cnfallows you to define a custom configuration file, which will be used during initialization.
The following three examples will all produce the wanted result, i.e. install MySQL with a custom
innodb-page-size of 64K.
make_sandbox 5.7.16 -- -c innodb-page-size=64K --init_option='--innodb-page-size=64K' make_sandbox 5.7.16 -- -c innodb-page-size=64K --init_my_cnf cat /tmp/my.cnf [mysqld] innodb-page-size=64K make_sandbox 5.7.16 -- -c innodb-page-size=64K --init_use_cnf=/tmp/my.cnf