Home >Database >Mysql Tutorial >MySQL Sandbox_MySQL

MySQL Sandbox_MySQL

WBOY
WBOYOriginal
2016-06-01 13:13:421085browse
MySQL Sandbox_MySQLSend to Kindle

Hi there, today we will learn about an amazing tool that every single MySQL dba must know, I’m talking about MySQL Sandbox.

MySQL Sandbox is developed by Giuseppe Maxia (The Data Charmer), it’s a tool that make the installation of MySQL servers very easy. If you need to quickly create a MySQL instance for test or a replication setup(it supports master slave, circular and master master replication), this it the tool.

INSTALLATION:

Go to http://mysqlsandbox.net/ and get the latest version (I got from launchpad):

yum install perl perl-ExtUtils-MakeMaker perl-Test-Simplewget https://launchpad.net/mysql-sandbox/mysql-sandbox-3/mysql-sandbox-3/+download/MySQL-Sandbox-3.0.44.tar.gztar -zxvf MySQL-Sandbox-3.0.44.tar.gzcd MySQL-Sandbox-3.0.44perl Makefile.PLmakemake testmake install

CREATING A SINGLE SANDBOX:

To create a single sandbox, all you need is the mysql package that you want install and themake_sandboxcommand:

[root@localhost ~]# make_sandbox mysql-5.6.17-linux-glibc2.5-i686.tar.gz unpacking /root/mysql-5.6.17-linux-glibc2.5-i686.tar.gzExecuting low_level_make_sandbox --basedir=/root/5.6.17 /	--sandbox_directory=msb_5_6_17 /	--install_version=5.6 /	--sandbox_port=5617 /	--no_ver_after_name /	--my_clause=log-error=msandbox.err	The MySQL Sandbox,version 3.0.44	(C) 2006-2013 Giuseppe Maxiainstalling with the following parameters:upper_directory				= /root/sandboxessandbox_directory			= msb_5_6_17sandbox_port				 = 5617check_port					 = no_check_port				= datadir_from				 = scriptinstall_version				= 5.6basedir						= /root/5.6.17tmpdir						 = my_file						= operating_system_user		= rootdb_user						= msandboxremote_access				= 127.%bind_address				 = 127.0.0.1ro_user						= msandbox_rorw_user						= msandbox_rwrepl_user					= rsandboxdb_password					= msandboxrepl_password				= rsandboxmy_clause					= log-error=msandbox.errmaster						 = slaveof						= high_performance			 = prompt_prefix				= mysqlprompt_body					=[/h] {/u} (/d) > force						= no_ver_after_name			= 1verbose						= load_grants					= 1no_load_grants				 = no_run						 = no_show						= do you agree? ([Y],n) loading grants.. sandbox server startedYour sandbox server was installed in $HOME/sandboxes/msb_5_6_17

To use it you can call theusescript inside the sandbox folder:

[root@localhost ~]# $HOME/sandboxes/msb_5_6_17/useWelcome to the MySQL monitor.Commands end with ; or /g.Your MySQL connection id is 3Server version: 5.6.17 MySQL Community Server (GPL)Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.mysql [localhost] {msandbox} ((none)) >

You can manage your sandbox by calling the start / stop / restart / status script inside the sandbox folder

CREATING A MASTER SLAVE REPLICATION:

To create a master slave replication topology (by default is set to 1 master and 2 slaves but it can be changed passing the--how_many_nodesparameter) we will use themake_replication_sandboxcommand:

[root@localhost ~]# make_replication_sandbox mysql-5.6.17-linux-glibc2.5-i686.tar.gz installing and starting masterinstalling slave 1installing slave 2starting slave 1.... sandbox server startedstarting slave 2.. sandbox server startedinitializing slave 1initializing slave 2replication directory installed in $HOME/sandboxes/rsandbox_mysql-5_6_17

To use it we can call theusescript, for replication, the use script will be located inside the nodeN/Master folder:

[root@localhost ~]# #MASTER[root@localhost ~]# /root/sandboxes/rsandbox_mysql-5_6_17/master/use Welcome to the MySQL monitor.Commands end with ; or /g.Your MySQL connection id is 7Server version: 5.6.17-log MySQL Community Server (GPL)Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.master [localhost] {msandbox} ((none)) > ^DBye[root@localhost ~]# #SLAVE 1[root@localhost ~]# /root/sandboxes/rsandbox_mysql-5_6_17/node1/use Welcome to the MySQL monitor.Commands end with ; or /g.Your MySQL connection id is 5Server version: 5.6.17-log MySQL Community Server (GPL)Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.slave1 [localhost] {msandbox} ((none)) > ^DBye[root@localhost ~]# #SLAVE 2[root@localhost ~]# /root/sandboxes/rsandbox_mysql-5_6_17/node2/use Welcome to the MySQL monitor.Commands end with ; or /g.Your MySQL connection id is 5Server version: 5.6.17-log MySQL Community Server (GPL)Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.slave2 [localhost] {msandbox} ((none)) >

On replication sandbox, you can manage the individual sandbox by calling the start / stop / restart / status script inside the node / master folder or you can call the scripts ending with _all located on the sandbox folder (start_all/stop_all/restart_all/status_all).

CREATING A MULTI MASTER REPLICATION:

To create a multi-master sandbox we will use themake_replication_sandboxwith--master_masteroption:

[root@localhost ~]# make_replication_sandbox --master_master mysql-5.6.17-linux-glibc2.5-i686.tar.gzinstalling node 1installing node 2# server: 1: # server: 2: # server: 1: # server: 2: Circular replication activatedgroup directory installed in $HOME/sandboxes/rcsandbox_mysql-5_6_17

That is it, you can find more information using the help parameter onmake_multiple_custom_sandbox make_multiple_sandbox make_replication_sandbox make_sandbox make_sandbox_from_installed and make_sandbox_from_source

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn