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_cnf
which 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. - Finally,
--init_use_cnf
allows 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