MySQL Sandbox
  1. Overview
  2. Documentation
  3. Project
  4. News
  5. Tools



3.2.16	04-Jan-2018
	- Added backward compatibility options for authentication plugin in MySQL 8.0.4.
	The default authentication was changed from mysql_native_password to
	To keep the new default, use --keep_auth_plugin.

3.2.15	18-Nov-2017
	- Changed grants to support new users in 5.7.19 and 8.0.4
	- Improved tests to deal with new default users
3.2.14	05-Sep-2017
	- Added a conditional delay in ./use, as a temporary workaround for
	  changed replication defaults in MySQL 8.0.x.
	- Added a global check to stop operations if ~/.mylogin.cnf is detected
3.2.13	24-Jul-2017
	- Updated --expose_dd_tables procedure to deal with DD changes in 8.0.2
3.2.12	18-Jul-2017
	- Changed initial check for system tables: MySQL 8.0.2 has a tablespace instead
3.2.11	16-Jul-2017
	- Removed "--socket" from mysqlsh script
3.2.10	03-May-2017
	- Fixed error in --custom_mysqld handling
3.2.09   01-May-2017
    - Merged Guriandoro's change to check port numbers in change_ports
	- Added change directory command to change_ports
	- Added test for data dictionary tables
3.2.08   30-Apr-2017
	- Added option --expose_dd_tables to show and use MySQL 8.0
	  data dictionary hidden tables.
    - Also available is an option --custom_mysqld to start the server with a 
      different mysqld from the same directory.
3.2.07	21-Apr-2017
	- Changed detection of USER variable to pass tests in unfriendly
3.2.06	16-Apr-2017
	- Added tmpdir option to mysql_install_db and 'mysqld --initialize'
	- Cleanup and test improvement (add option to skip tarball tests)
	- Changed description in to include MariaDB when needed
	- Added MariaDB 10.3 to allowed versions.
3.2.05	31-Dec-2016
	- Merged Dennis Becker improved search for libraries in make_sandbox_from_installed
	- Added version 10.2 among the supported ones
3.2.04	14-Dec-2016
	- Fixed intolerant behavior of mysqld_safe introduced in MySQL 5.7.17.
3.2.03	02-Nov-2016
	- Added option --init_option to add options at initialization time.
	- Added option --init_my_cnf to load $sandbox_dir/my.sandbox.cnf during
	initialization instead of --no-defaults.
	- Added option --init_use_cnf to load a custom options file during
	initialization instead of --no-defaults.
3.2.02	12-Sep-2016
	- Fixed download parameter for make_sandbox_from_url
3.2.01	10-Sep-2016
	- Added early check for USER, HOME, and PWD variables.
	- Added early check for spaces in HOME variable.
	- Fixed wrong server_id when using both --slaveof and --check_port
	- Added test for server_id with --check_port
	- Updated make_sandbox_from_url to use MySQL 8.0 remote builds (when
	- Added remote catalog to make_sandbox_from_url
3.2.00 	28-Aug-2016
       	- Add compatibility with MySQL 8.0.0
       	- Adapt tests to use MySQL 8.0.0
       	- Added options:
       		- plugin_mysqlx : installs the X-plugin permanently
       		- mysqlx_port : with the above option, sets the X-plugin port
       	- Changed mysqlsh script to use --sql or --js options.
3.1.13 	21-Aug-2016
       	- added --master_ip to make_replication_sandbox
3.1.12    07-Aug-2016
	- added syntax for make_sandbox get:#.# (invokes make_sandbox_from_url)
	- Added check for wrong requested version in make_sandbox_from_url
	- removed duplicate function from test_sandbox
3.1.11	11-Jul-2016
	- Added make_sandbox_from_url to the installation list
	- Use https for GitHub URLs (contributed by D. Van Eeden)
3.1.10	10-Jul-2016
        - Fixed a test error that made the package not-installable
3.1.09	08-Jul-2016
	- Added make_sandbox_from_url, which installs a sandbox from the web
	- Fixed a warning about negative length of options (only fires in recent
	  versions of Perl)
	- Cleaned up test execution for environments where it can't run properly.
3.1.08	04-Jun-2016
	- Fixed major issue with XPlugin installation. The grants script was
	  removing the account created by the X-plugin. Now this account is
	  whitelisted. (
	- Fixed minor naming in MANIFEST
	- Fixed compatibility issues in
3.1.07 15-May-2016
	- Added support for $NOPASSWORD variable in ./use script. When this
	variable is enabled, the client runs without a password. Useful to call it
	before grants are loaded.
	- Added option to install plugin right after the installation
	- Added options to execute SQL before and after loading grants
	  --pre_grants_sql --pre_grants_file --post_grants_sql --post_grants_file
	- Similar options can execute shell commands
	  --pre_start_exec --pre_grants_exec --post_grants_exec
	- Added test cases for the above options
3.1.06 09-May-2016
	- Added explicit return code to test_replication script
	- Enables sbtool to remove incomplete group sandboxes
	- Test_Helper now cleans environment variables before starting a test
	- Added temporary support for mysqlsh
	- merge contribution by kaiwangchen to fix make_sandbox_from source and make_sandbox with mysqld-debug
	- Added --gtid option for make_sandbox, make_replication_sandbox, and make_multiple_sandbox
3.1.05 17-Jan-2016
	- Fixed mismatch in version checking to determine whether to use
	mysql_install_db or mysqld --initialize
	- Updated copyright notice
	- Added test for installation method used
	- Added test for generated UUID
3.1.04	07-Dec-2015
	- Fixed wrong version comparison (affects usage of MySQL 5.7.10)
	- Changed tests to use smarter version comparison
3.1.03	04-Dec-2015
	- Increased timeout for 'start' script, needed when restart requires
	a longer time.
3.1.02	21-Nov-2015
	- Fixed error in UUID generation for server-id=110
	- Merged change by Mark Leith to preserve mysql.sys user
	- Adapted privileges test for the above change
3.1.01	04-Oct-2015
	- Removed message that should only appear with debug
	- Modified Makefile.PL to generate correct licensing metadata
	- Added port info to replication status and check-slaves (Thanks to Mark
	- Changed 'create schema' to 'create' database to allow installation in
	MySQL 4.1 (thanks to Daniƫl van Eeden)
	- Updated sbtool to prevent deletion of the whole sandboxes directory
	- Minor changes to semi-sync plugin test
	- Added debug message in make_sandbox_from_source
	- Tested with MySQL 5.7.9 and MariaDB 10.1.6
3.1.00	22-Aug-2015
	- Migrated repository to github (
	- Changed license to Apache 2.0
	- Limited workaround for bug#77732 to MySQL 5.7.8 only
	- Added usability feature for Server-UUID. Whenever server-id is used, the
	server-uuid is converted into an easy-to-read string of numbers
	- Simplified './clear' script. Does not attempt to remove stored routines.
	Makes the intrusive mysqldump that was running with load_grants
	- Changed location for MySQL history in group sandboxes to be shared
	between single ones.
3.0.66	07-Aug-2015
	- Added MYSQL_EDITOR variable to ./use script
	- Added ./mycli script to invoke the mycli command
3.0.65	06-Aug-2015
	- Added show_relaylog script, similar to show_binlog
3.0.64	05-Aug-2015
	- Fixed quoting error in show_binlog script
3.0.63	03-Aug-2015
	- Modified test so that it can also run on MySQL 5.0
	- modified sandbox script json_in_db to use type JSON when version >=
	- Simplified grants.mysql and show_binlogs scripts
3.0.62	02-Aug-2015
	- Added default name for relay log files.
	- Added 'show_binlog' and 'add_option' scripts in each sandbox
	- improved tests by getting all the version components from a single
	function call
	- Added GTID initialization options for MySQL 5.6, 5.7, and MariaDB 10
	- Added GTID enabling test for MySQL 5.6 and 5.7
	- added and improved more tests
3.0.61	27-Jul-2015
	- Simplified workaround for Bug#77732. No defaults are changed.
	The only addition is a GRANT SELECT on a given table to the replication
	user for MySQL 5.7.6+
	- Removed unnecessary FLUSH PRIVILEGES
3.0.60	25-Jul-2015
	- Changed installation method for MySQL 5.7.6 and later.
	Using 'mysqld --initialize' instead of deprecated mysql_install_db.
	Installation for earlier MySQL versions and MariaDB still use
	- Due to the above change, low_level_make_sandbox will now filter the
	"error" message in the output for the text '[Warning]'. If an "error"
	appears as warning, the installation is not halted.
	- Incompatible change: when using --force to install on top of an existing
	sandbox, the old data directory is copied to 'old_data' instead of being
	overwritten. This is due to the different behavior of 'mysqld --initialize'
	that does not support initializing an existing data directory.
	- Added more tests. Improved a few of the existing ones.
	- Fixed test for user privileges that was broken in 5.7.6+
3.0.57	to 3.0.59 not released
3.0.56	20-Jul-2015
	- Adjusted credis date
3.0.55	19-Jul-2015
	- Fixed issue with the latest script added to the test suite.
3.0.54  19-Jul-2015
    - Added test_replication script to test both regular and circular
    replication. It is also used in the test suite
3.0.53	16-Jul-2015
    - Improved workaround for Bug#77732. Deployments with --master would only
	work within the test suite, but would fail in standalone installations.
3.0.52	15-Jul-2015
	- Added a workaround for Bug#77732 in MySQL 5.7.8
	  -- --
3.0.51	14-Jul-2015
	- Added ability of opening tarball with name like 123456.mysql*.tar.gz
	- Added many tests for tarball name checking
3.0.50	11-Apr-2015
	- Fixed issue with the 'clear' script in MySQL 5.7.7. Since a new default
	database was added ('sys') and the clear command did not know about it,
	the new database was being removed.
3.0.49	09-Apr-2015
    - Fixed version detection to support also MySLQL 5.7.7 and MySQL 5.7.8.
      A more resilient patch will follow.
      Notice that, due to a change (possibly a bug) in MySQL 5.7.7, circular
      replication and in general any topology containing a relay slave may fail.
3.0.48	09-Mar-2015
	- Added provisional support for MySQL 5.7.6 (changed syntax for SET
	PASSWORD but keep using deprecated mysql_install_db)
3.0.47	19-Oct-2014
	- Added support for MySQL with data dictionary (5.7.5 labs edition)
3.0.46  25-Sep-2014
    - Changes to allow installation of MySQL 5.7.5:
        - added creation of 'test' database
        - moved lower_case_table_names to the my.sandbox.cnf file (mysql_install_db does not support this option)
        - allow for changed syntax --insecure instead of --skip-random-password
        - removed tmpdir from options to mysql_install_db
    - Updated test_sandbox to avoid a 'skip-innodb' test with MariaDB 10.x
    - Updated test_sandbox to detect correctly MariaDB versions

3.0.45	30-Aug-2014
	- Fixed bug#1361851 "start/stop/status scripts don't actually check if running"
	- Fixed freshly submitted but long overdue Bug#1362014 "Sandbox scripts can't deal with stale PID files"
3.0.44	29-Apr-2014
        - Fixing bug#1313672 : MySQL Sandbox can't install with MySQL 5.7.4
        - Removed some deprecated options that were removed in latest version of MySQL
3.0.43	24-Oct-2013
	- Fixed bug#1155517 The "my" scripts excludes mysql_upgrade from --default-options incorrectly
	- Also added mysql_config_editor to the scripts that should not get defaults-options
3.0.42	30-Sep-2013
	- Fixed bug in sb renaming. The new name was not updated in the MANIFEST
3.0.41	30-Sep-2013
	- INCOMPATIBLE CHANGE: Renamed 'sb' to 'msb' to avoid name clashes in
	Linux distributions
3.0.40	12-Jul-2013
	- enhanced with the ability of using a
	template my.cnf for remote deployment (-y file-name)

3.0.39 29-May-2013
	- added server_id option to deploy_to_remote_sandboxes
	- added info about group directory to multiple sandbox 'start/stop/clear' scripts
	- added ruby connection info to connection.json
	- Fixed display bug in credits (were reported twice in replication README)

3.0.38  05-May-2013
	- Fixed typos and formatting in embedded docs.
3.0.37  05-May-2013
	- Added connection samples (for PHP, Perl, Python, Java, shell) to 'connection.json'
	- Added validation tests for JSON contents
3.0.36  04-May-2013
        - Added connection.json to each sandbox (simple or multiple) The file
        contains information to use the sandbox with third party applications.
        - Added default_connection.json to each sandbox (it has only the default
        items from connection.json)
        - Added README file to each sandbox (simple or multiple)
    - enhanced check_slaves. It now includes show master status;
    - Fixed bug in circular replication: enable_gtid was not created;
    - Added 25 more integrity tests;
    - Changed default version for testing. It now looks for MySQL 5.5.31
3.0.35  03-May-2013
     - Fixed bug in the 'check_slaves' script created with circular replication
     - Fixed bug in 'clear_all' script created in circular replication
     - added 50 new integrity tests to test_sandbox
3.0.34  29-Apr-2013
    - Added option --bind_address, to define how MySQL::Sandbox servers
    connect to TCP/IP
    - Fixed bug with handling 5.7 builds. Replicated systems did not create
    the script enable_gtid  (BUG#1171977)
    - The changes made by enable_gtid are now durable (Bug#1171986)
    - Fixed various patterns that prevented MariaDB 10.0 builds from being
    - Fixed bug in test_sandbox, where warning messages were mixed with the
    test output in MYSQL 5.5.30+
    - Fixed bug in test_sandbox, where a test that skips innodb was being
    wrongly applied to MySQL 5.7
    - Added 10.0 among supported versions
    - Added documentation about remote sandboxes (in MySQL::Sandbox::Recipes)
    - Added a test that checks if enable_gtid is created when needed.

3.0.33	11-Apr-2013
	- Fixed Bug #1167794 '--log option deprecated'
	- fixed minor working issue in
3.0.32	12-Mar-2013
	- Fixed minor bug in
	- Added to the list of scripts to install
3.0.31	08-Mar-2013
	- Fixed Bug#1133186 make_sandbox_from_source does not recognize version
	- removed diagnostic lines that printed MySQL version and temporary directory
	- removed diagnostic lines that printed ports and directories being searched 
          when the option --check_port was used
	- added bin/, which installs sandboxes to
	  remote hosts
3.0.30	06-Feb-2013
	- Fixed Bug#1116760 Uninitalized $ENV{"SANDBOX_BINARY"} 
	- Removed obnoxious warning introduced in MySQL 5.5.30 when using mysqldump
3.0.29	24-Jan-2013
	- fixed bug#1103918 (affects sandboxes using MySQL 4.1)
3.0.28 06-Jan-2013
	- changed initialization scripts to avoid most of the annoying messages
	that MySQL 5.6 creates during tests 
	- Added script to enable GTID in MySQL 5.6
3.0.27	05-Jan-2013
	- added compatibility features to use MySQL 5.6
	  # improved 'clear' and 'start' scripts to handle innodb tables in the
	  'mysql' database
	  # fixed usage of deprecated features in tests 
	  # removed obnoxious listing when data directory is created
3.0.26	30-Sep-2012
	- Removed dependency on table, which cannot be found anymore in MySQL 5.6.7
3.0.25	01-Feb-2012
	- fixed typos and credits. (Thanks to Mateusz Kijowski for noticing)
3.0.24  17-Dec-2011
    - added --master option to low_level_make_sandbox (enables binlogs and
    - added --slaveof option to low_level_make_sandbox (creates a slave of
    another sandbox or regular server)
    - added tests for the above ones
3.0.23  13-Dec-2011
    - fixed bug in prefixed version names (e.g.: now you can use make_sandbox
    ps5.1.57 or mp5.2.10)
    - Added arguments to deal with node options in replication and multiple
    sandbox. --node_options, --slave_options, --master_options,
    --one_slave_options, --one_node_options
    - added --high_performance option to low_level_make_sandbox: adds the following features to the
    configuration file:
3.0.22  26-Oct-2011
    - Add support for directories named after a prefixed version (my5.1.56,
    ps5.1.56, giuseppe_5.1.56, etc)
3.0.21  10-Oct-2011
    - Added test to MANIFEST (and to tarball). Forgotten in previous version
3.0.20  10-Oct-2011
    - Fixed bug in make_sandbox. "--add_prefix" did not work in combination with "--export_binaries"
    - changed port checking tests to not depend on a specific MySQL version
3.0.19  09-Oct-2011
    - INCOMPATIBLE CHANGE: make_sandbox now requires '--' before adding
    options supported by low_level_make_sandbox
    - INCOMPATIBLE CHANGE: the option --export_binaries for make_sandbox must
    be inserted BEFORE the tarball name
    - make_sandbox now recognizes Percona and MariaDB binaries 
    - make_sandbox accepts the option --add_prefix=NAME, which will be added
    to the version number of the rename expanded tarball. (e.g.
    --add_prefix=yell mysql-5.1.8-linux.tar.gz will create yell5.1.58)
3.0.18  08-Oct-2011
    - fixed CPAN Ticket 70470 MySQL::Sandbox - make_sandbox warns with Perl 5.14 and 5.14.1
    - Fixed report-port in replication. The port used was the master's, but it
    should be the slave's
3.0.17  07-Jan-2011
    - incompatible change: default mask for msandbox user is now '127.%'
    instead of '%'. You can resume the old mask with --remote_access='%'
    - added low privilege users msandbox_ro (SELECT EXECUTE), msandbox_rw (SELECT INSERT
    - fixed bug in test_smoke (assumed 2 directories after cleaning, but 5.5 
    has also performance_schema)
3.0.16  30-Dec-2010
    - fixed bug in TestHelper (wrong assumption on all directories in
    $SANDBOX_BINARIES containing MySQL files)
    - added information to check_slaves to report master logfile and position
3.0.15  23-Dec-2010
    - added a 'msb' script to each sandbox, to mimick the mysql.server script
    - fixed test visualization bug for Mac OSX with case insensitive storage
    - fixed algorithm to convert version number to ports
    - fixed test suite for MySQL 5.5 (can't disable innodb for testing)
3.0.14  31-Aug-2010 (not released)
    - Added a 'rsandbox' user with REPLICATION SLAVE grants for replication systems
3.0.13  28-Jun-2010 (not released)
    - fixed minor problems in the test suite about testing on Windows
    - added a prototype for MySQL Cluster integration
3.0.12  29-May-2010
    - Fixed bug in test_sandbox. When a test evaluates only the result code
      and there is no output from a failing command, test_result was not able
      to detect the failure.
    - fixed bug in test_sandbox. Due to a change in behavior in the mysql
      client, where './use -B -N' with a \G terminated query  does not
      show the headers since 5.1.43, We need to take into account the pre
      and post fix behaviors in the test.
    - Integrated set_plugins into sbtool
    - Updated documentation
    - added tests for innodb plugin installation
    - added tests for semi-synch plugin installation
    - Fixed bug in 'stop' script. It did not accept $MYCLIENT_OPTION
    - Fixed bug#487864 - tar was using '--help' instead of '--version' to
      detect the supported version.
    - Fixed bug in sbtool. It did not display credits in the help.
    - Added test to skip testing on Windows.
    - added instrumentation to all MySQL Sandbox scripts. If you set the
      $SBINSTR environment variable with the name of a file, all sandbox
      scripts will write an entry to that file with their run time params.
3.0.11  24-May-2010
    - Fixed bug in ./clear script. In version 5.5 and bigger, it erased
      the performance_schema database, which should not be removed. If it
      exists, its tables are now truncated.
    - Fixed bug in ./clear script. The removal of databases was not
      executed in a clean mode.
    - Added a script to install plugins in ./drafts