This week I’d expected to hear good friend Giuseppe (CCO) Maxia speak about MySQL SandBox at the Hamburg MySQL April Meetup.
This is product I’ve thought about using, wanted to use, but just never got to the point to using. I download the current version 1.18, I had MySQL tar’s already of 5.0, 5.1 and 6.0 and was all ready until the late topic change.
However due to the language barrier in the second talk, I got a one-on-one lesson. Now I know how it works, and understands the strengths I can use it as part of my standard vanilla testing. There are some improvements I could see, something perhaps I can contribute if they allow a Perl part-timer too. The joy of open source is I can add, modify, change and submit my work, if not wanted for example, there is simply no loss to me.
- By default installation goes to $HOME, and then creates a different standard for individual, replication or multiple instances. I’d like to see this default to a directory say $HOME/msb so all different installs are all under one directory node. You can specific this currently via –sandbox_directory otherwise.
- express_install.pl could benefit from a –help option
- I’d like the set_replication.pl and set_many.pl commands to support an array of mysql tar’s. I’m most interested in testing replication say from 5.0 to 5.1 and 6.0, not just 5.0 to 5.0. I’d also like to be able to install a 5.0, 5.1 and 6.0 versions and be able to use the multi_cmd to run the same SQL across different versions easily.
- The multi_cmd would benefit from a means to list the identify of the instance with the output. It’s hard as MySQL does not have MYSQL_SID, only a server_id which can be a little confusing.
Thanks Giuseppe for your work on this product.
Current syntax
./install.pl --help Unknown option: help The MySQL Sandbox, version 1.18 05-Apr-2008 (C) 2006,2007,2008 Giuseppe Maxia, MySQL AB syntax: ./install.pl [options] -h --home_directory = name The home directory. (default: $HOME (/Users/rbradfor)) -d --sandbox_directory = name Where to install the sandbox, under home-directory -P --sandbox_port = number The port number to use for the sandbox server. (Default: 3310) --datadir_from = name Where to get datadir files from. Available options are archive will be taken from the archived data provided with the package. They include default username and passwords ( DEPRECATED ) script the script mysql_install_db is called, with default users, no passwords. dir:name will be copied from an existing mysql directory (Default: script) -i --install_version = name Which version to install (3.23, 4.0, 4.1, 5.0 or 5.1) default: 5.0 -b --basedir = name Base directory for MySQL (default: /usr/local/mysql) -m --my_file = name which sample my-{small|large|huge}.cnf file should be used for additional configuration You may enter either the label (small|large|huge) or a full file name. (default: none) -f --conf_file = name Configuration file containing options like the ones you can give on the command line (without dashes) -U --operating_system_user = name Operating system user (for mysql installation) default: $USER (rbradfor) -u --db_user = name user for global access to mysql (Default: sandbox) -p --db_password = name password for global access to mysql (Default: sandbox) -c --my_clause = name option to be inserted in a my.cnf file it may be used several times --prompt_prefix = name prefix to use in CLI prompt (default: mysql) --force Use this option if you want to overwrite existing directories and files during the installation. (Default: disabled) --no_ver_after_name Do not add version number after sandbox directory name (default: disabled) -v --verbose Use this option to see installation progress (default: disabled) --load_grants Loads the predefined grants from a SQL file. Useful when installing from script. (default: disabled) --no_load_grants Does not loads the predefined grants from a SQL file. (default: disabled) -t --interactive Use this option to be guided through the installation process (default: disabled) --no_confirm suppress the confirmation request from user Example: ./install.pl --my_file=large --sandbox_directory=my_sandbox