SlideShare a Scribd company logo
1 of 28
Download to read offline
MySQL Sandbox
              •one (unix) host
              •many database servers
              •single or multiple
                  sandboxes
              •installs IN SECONDS
              •Free software (GPL)
                     http://mysqlsandbox.net

MySQL Sandbox is a tool that installs an additional MySQL server in a few seconds.
You can have more than one database servers in your host, all of them independent from each other. Installing a new server with
MySQL Sandbox is a matter of seconds. You can install either a single sandbox or a system including multiple ones.
It is free software, and it works on most every unix system.
1 host - many servers




                                                                                                   HOST

When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test
database servers in your host. You want to be able to test in different conditions, possibly with different versions.
With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a
group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and
they will not interfere with each other.
1 host - many servers
                                        5.0.83

                                            single




                                                                                                   HOST

When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test
database servers in your host. You want to be able to test in different conditions, possibly with different versions.
With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a
group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and
they will not interfere with each other.
1 host - many servers
                                                            5.1.35
                                        5.0.83
                                                            single
                                            single




                                                                                                   HOST

When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test
database servers in your host. You want to be able to test in different conditions, possibly with different versions.
With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a
group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and
they will not interfere with each other.
1 host - many servers
                                                            5.1.35
                                        5.0.83
                                                            single
                                            single




                                   single
                                             5.4.1
                                                                                                   HOST

When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test
database servers in your host. You want to be able to test in different conditions, possibly with different versions.
With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a
group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and
they will not interfere with each other.
1 host - many servers
                                                            5.1.35
                                        5.0.83
                                                            single
                                            single

                         5.0.82
                         master


                5.0.82     5.0.82
                 slave      slave
                standard
               replication

                                   single
                                             5.4.1
                                                                                                   HOST

When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test
database servers in your host. You want to be able to test in different conditions, possibly with different versions.
With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a
group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and
they will not interfere with each other.
1 host - many servers
                                                                                          5.1.35
                                                            5.1.35
                                        5.0.83
                                                            single
                                            single                                5.4.1
                                                                                                   5.0.83

                         5.0.82                                                             group

                         master


                5.0.82     5.0.82
                 slave      slave
                standard
               replication

                                   single
                                             5.4.1
                                                                                                   HOST

When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test
database servers in your host. You want to be able to test in different conditions, possibly with different versions.
With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a
group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and
they will not interfere with each other.
1 host - many servers
                                                                                          5.1.35
                                                            5.1.35
                                        5.0.83
                                                            single
                                            single                                5.4.1
                                                                                                   5.0.83

                         5.0.82                                                             group

                         master
                                                                               5.1.34
                5.0.82     5.0.82
                 slave      slave                           5.1.34
                                                                                                 5.1.34
                standard
               replication                                   circular 5.1.34
                                   single
                                             5.4.1         replication
                                                                                                   HOST

When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test
database servers in your host. You want to be able to test in different conditions, possibly with different versions.
With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a
group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and
they will not interfere with each other.
1 host - many servers
                                                                                          5.1.35




                 ALL
                                                            5.1.35
                                        5.0.83
                                                            single
                                            single                                5.4.1
                                                                                                   5.0.83

                         5.0.82                                                             group




             INDEPENDENT
                         master
                                                                               5.1.34
                5.0.82     5.0.82
                 slave      slave                           5.1.34
                                                                                                 5.1.34
                standard
               replication                                   circular 5.1.34
                                   single
                                             5.4.1         replication
                                                                                                   HOST

When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test
database servers in your host. You want to be able to test in different conditions, possibly with different versions.
With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a
group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and
they will not interfere with each other.
Installation


            •as root
                #
cpan
MySQL::Sandbox




Installing MySQL Sandbox is easy. It is a Perl module. Getting it in your server is just a matter of typing one commend as root.
If you want, you can also install in the user space. The reference manual explains how to do it.
Creating a single
                            sandbox
           •as normal user
                #
make_sandbox

                


/path/to/mysql‐5.1.35‐YOUROS.gz




Let's make your first sandbox. It's as simple as saying "make_sandbox" and the name of a MySQL tarball.
This will expand the tarball and create a sandbox very fast.
If you have already expanded the tarball in a predefined directory, you can call "make_sandbox" with the simplified syntax.
It is FAST!
Creating a single
                            sandbox
           •as normal user
                #
make_sandbox

                


/path/to/mysql‐5.1.35‐YOUROS.gz


           •if you have expanded tarballs already


Let's make your first sandbox. It's as simple as saying "make_sandbox" and the name of a MySQL tarball.
This will expand the tarball and create a sandbox very fast.
If you have already expanded the tarball in a predefined directory, you can call "make_sandbox" with the simplified syntax.
It is FAST!
Creating a single
                            sandbox
           •as normal user
                #
make_sandbox

                


/path/to/mysql‐5.1.35‐YOUROS.gz


           •if you have expanded tarballs already
                #
make_sandbox
5.1.35


Let's make your first sandbox. It's as simple as saying "make_sandbox" and the name of a MySQL tarball.
This will expand the tarball and create a sandbox very fast.
If you have already expanded the tarball in a predefined directory, you can call "make_sandbox" with the simplified syntax.
It is FAST!
Creating a single
                            sandbox
           •as normal user
                #
make_sandbox




        < 10 seconds!
                


/path/to/mysql‐5.1.35‐YOUROS.gz


        •       if you have expanded tarballs already
                #
make_sandbox
5.1.35


Let's make your first sandbox. It's as simple as saying "make_sandbox" and the name of a MySQL tarball.
This will expand the tarball and create a sandbox very fast.
If you have already expanded the tarball in a predefined directory, you can call "make_sandbox" with the simplified syntax.
It is FAST!
Creating a replication
                    sandbox
            •as normal user
                #
make_replication_sandbox

                


/path/to/mysql‐5.1.35‐YOUROS.gz




Creating a replication system is equally easy. If you have ever set up MySQL replication servers you know that it is not extremely
complicated, but the chances of making mistakes are quite a lot.
Using MySQL Sandbox, you can create a replication system as easoly as you make a single one. And you will be surprised at how
fast it is!
Creating a replication
                    sandbox
            •as normal user
                #
make_replication_sandbox

                


/path/to/mysql‐5.1.35‐YOUROS.gz


            •if you have expanded tarballs already


Creating a replication system is equally easy. If you have ever set up MySQL replication servers you know that it is not extremely
complicated, but the chances of making mistakes are quite a lot.
Using MySQL Sandbox, you can create a replication system as easoly as you make a single one. And you will be surprised at how
fast it is!
Creating a replication
                    sandbox
            •as normal user
                #
make_replication_sandbox

                


/path/to/mysql‐5.1.35‐YOUROS.gz


            •if you have expanded tarballs already
                #
make_replication_sandbox
5.1.35


Creating a replication system is equally easy. If you have ever set up MySQL replication servers you know that it is not extremely
complicated, but the chances of making mistakes are quite a lot.
Using MySQL Sandbox, you can create a replication system as easoly as you make a single one. And you will be surprised at how
fast it is!
Creating a replication
                    sandbox
            •as normal user
                #
make_replication_sandbox




       < 20 seconds!
                


/path/to/mysql‐5.1.35‐YOUROS.gz


       •        if you have expanded tarballs already
                #
make_replication_sandbox
5.1.35


Creating a replication system is equally easy. If you have ever set up MySQL replication servers you know that it is not extremely
complicated, but the chances of making mistakes are quite a lot.
Using MySQL Sandbox, you can create a replication system as easoly as you make a single one. And you will be surprised at how
fast it is!
SHORTCUT - Creating
             and Using a sandbox




Starting with MySQL Sandbox 3.0.04, there is also a shortcut script that can make your life much easier.
You can create a sandbox and use it with a very short command.
You need to try it to believe it.
SHORTCUT - Creating
             and Using a sandbox


           •as normal user (requires version 3.0.04)




Starting with MySQL Sandbox 3.0.04, there is also a shortcut script that can make your life much easier.
You can create a sandbox and use it with a very short command.
You need to try it to believe it.
SHORTCUT - Creating
             and Using a sandbox


           •as normal user (requires version 3.0.04)
                #
sb
5.0.83




Starting with MySQL Sandbox 3.0.04, there is also a shortcut script that can make your life much easier.
You can create a sandbox and use it with a very short command.
You need to try it to believe it.
SHORTCUT - Creating
             and Using a sandbox


           •as normal user (requires version 3.0.04)
                #
sb
5.0.83


           < 5 seconds!
Starting with MySQL Sandbox 3.0.04, there is also a shortcut script that can make your life much easier.
You can create a sandbox and use it with a very short command.
You need to try it to believe it.
example
                $
make_sandbox
5.0.82

                [...]
                .
sandbox
server
started
                Your
sandbox
server
was
installed
in

                $SANDBOX_HOME/msb_5_0_82

                $
$SANDBOX_HOME/msb_5_0_82/use

                


‐e
"select
version()"
                +‐‐‐‐‐‐‐‐‐‐‐+
                |
version()
|
                +‐‐‐‐‐‐‐‐‐‐‐+
                |
5.0.82



|

                +‐‐‐‐‐‐‐‐‐‐‐+




Here's an example of a single sandbox. First you create it. MySQL Sandbox will show you what it's doing and ask for
confirmation. This will take a few seconds. Once the sandbox has been created, you can use it immediately. No need to
remember complicated options. The sandbox includes scripts to use it easily, as you see in the screen. Just say "use", and it will
invoke the mysql command line with all the necessary options, which you don't have to remember
example
                                         (shortcut)
                $
time
sb
5.0.82
‐e
"select
version()"
                [...]
                .
sandbox
server
started
                Your
sandbox
server
was
installed
in

                $SANDBOX_HOME/msb_5_0_82
                +‐‐‐‐‐‐‐‐‐‐‐+
                |
version()
|
                +‐‐‐‐‐‐‐‐‐‐‐+
                |
5.0.82



|

                +‐‐‐‐‐‐‐‐‐‐‐+

                real
 0m2.041s
                user
 0m0.290s
                sys

                   0m0.210s


The same two tasks that you have seen in the previous slide can be achieved at once with the new shortcut.
One single command that creates the sandbox and lets you use it.
This timing is in my laptop. Using a powerful server will be even faster.
example replication
                $
make_replication_sandbox
5.0.82

                [...]
                replication
directory
installed
on

                $SANDBOX_HOME/rsandbox_5_0_82

                $
$SANDBOX_HOME/rsandbox_5_8_82/m

                

‐e
"select
version()"

                +‐‐‐‐‐‐‐‐‐‐‐+
                |
version()
|
                +‐‐‐‐‐‐‐‐‐‐‐+
                |
5.0.82



|

                +‐‐‐‐‐‐‐‐‐‐‐+




Creating a replication system is similar. Just use the make_replication_sandbox script instead of make_sandbox, and the program
will take care of all the details.
Inside a replication sandbox you will have one sandbox for the master and one for each slave. No need to remember which is
which. The sandbox offers a shortcut script for each role. "m" is for master, "s1" for the first slave, and so on.
example replication
                                             (shortcut)
                $
time
sb
r5.0.82
‐e
"select
version()"
                [...]
                replication
directory
installed
in
$HOME/
                rsandbox_5_0_82
                +‐‐‐‐‐‐‐‐‐‐‐‐+
                |
version()

|
                +‐‐‐‐‐‐‐‐‐‐‐‐+
                |
5.0.82‐log
|

                +‐‐‐‐‐‐‐‐‐‐‐‐+

                real
 0m4.682s
                user
 0m0.795s
                sys

                   0m0.585s



You can use the shortcut script for the replication as well.
Here's an example of such call. You will invoke sb, followed by an "r" and the version number. The shortcut script will do
everything for you. Create a replication system and then invoke the master.
more control with
                          replication
                $
cd
$SANDBOX_HOME/rsandbox_5_8_82
                $
./use_all
"SELECT
@@server_id"
                #
master


                @@server_id
                1
                #
server:
1:

                @@server_id
                101
                #
server:
2:

                @@server_id
                102




For multiple sandboxes, you have additional scripts. There are scripts for starting, stopping, and cleaning up all the depending
sandboxes at once. And there is a script that lets you tun the same SQL statement in all the nodes. In this example, you see the
query "SELECT @@server_id" executed by the master and the slaves in sequence.
Self contained
              •All sandboxes are created inside
                   $SANDBOX_HOME
              •Use all at once
              •Great control



                      http://mysqlsandbox.net
Using MySQL Sandbox servers is safe and easy. Stopping and starting all the servers at once is a simple script call. Since all
sandboxes are under the same tree, it's also easy to keep track of storage.
There is much more that you can do. Check the MySQL Sandbox site for the reference manual and a detailed cookbook with
practical guidance.

More Related Content

More from Giuseppe Maxia

Dbdeployer, the universal installer
Dbdeployer, the universal installerDbdeployer, the universal installer
Dbdeployer, the universal installerGiuseppe Maxia
 
Test complex database systems in your laptop with dbdeployer
Test complex database systems in your laptop with dbdeployerTest complex database systems in your laptop with dbdeployer
Test complex database systems in your laptop with dbdeployerGiuseppe Maxia
 
A quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesA quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesGiuseppe Maxia
 
Synchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBSynchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBGiuseppe Maxia
 
Tungsten Replicator tutorial
Tungsten Replicator tutorialTungsten Replicator tutorial
Tungsten Replicator tutorialGiuseppe Maxia
 
Preventing multi master conflicts with tungsten
Preventing multi master conflicts with tungstenPreventing multi master conflicts with tungsten
Preventing multi master conflicts with tungstenGiuseppe Maxia
 
MySQL high availability power and usability
MySQL high availability power and usabilityMySQL high availability power and usability
MySQL high availability power and usabilityGiuseppe Maxia
 
Solving MySQL replication problems with Tungsten
Solving MySQL replication problems with TungstenSolving MySQL replication problems with Tungsten
Solving MySQL replication problems with TungstenGiuseppe Maxia
 
Mysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationMysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationGiuseppe Maxia
 
Lightning talks percona live mysql_2012
Lightning talks percona live mysql_2012Lightning talks percona live mysql_2012
Lightning talks percona live mysql_2012Giuseppe Maxia
 
Testing mysql creatively in a sandbox
Testing mysql creatively in a sandboxTesting mysql creatively in a sandbox
Testing mysql creatively in a sandboxGiuseppe Maxia
 
Building simple and complex clusters with tungsten replicator
Building simple and complex clusters with tungsten replicatorBuilding simple and complex clusters with tungsten replicator
Building simple and complex clusters with tungsten replicatorGiuseppe Maxia
 
Moving data for the masses
Moving data for the massesMoving data for the masses
Moving data for the massesGiuseppe Maxia
 

More from Giuseppe Maxia (20)

Test like a_boss
Test like a_bossTest like a_boss
Test like a_boss
 
Dbdeployer, the universal installer
Dbdeployer, the universal installerDbdeployer, the universal installer
Dbdeployer, the universal installer
 
Test complex database systems in your laptop with dbdeployer
Test complex database systems in your laptop with dbdeployerTest complex database systems in your laptop with dbdeployer
Test complex database systems in your laptop with dbdeployer
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
A quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesA quick tour of Mysql 8 roles
A quick tour of Mysql 8 roles
 
MySQL document_store
MySQL document_storeMySQL document_store
MySQL document_store
 
Replication skeptic
Replication skepticReplication skeptic
Replication skeptic
 
Synchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBSynchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDB
 
MySQL in your laptop
MySQL in your laptopMySQL in your laptop
MySQL in your laptop
 
Script it
Script itScript it
Script it
 
Tungsten Replicator tutorial
Tungsten Replicator tutorialTungsten Replicator tutorial
Tungsten Replicator tutorial
 
Preventing multi master conflicts with tungsten
Preventing multi master conflicts with tungstenPreventing multi master conflicts with tungsten
Preventing multi master conflicts with tungsten
 
MySQL high availability power and usability
MySQL high availability power and usabilityMySQL high availability power and usability
MySQL high availability power and usability
 
Solving MySQL replication problems with Tungsten
Solving MySQL replication problems with TungstenSolving MySQL replication problems with Tungsten
Solving MySQL replication problems with Tungsten
 
Mysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationMysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replication
 
Lightning talks percona live mysql_2012
Lightning talks percona live mysql_2012Lightning talks percona live mysql_2012
Lightning talks percona live mysql_2012
 
Testing mysql creatively in a sandbox
Testing mysql creatively in a sandboxTesting mysql creatively in a sandbox
Testing mysql creatively in a sandbox
 
Building simple and complex clusters with tungsten replicator
Building simple and complex clusters with tungsten replicatorBuilding simple and complex clusters with tungsten replicator
Building simple and complex clusters with tungsten replicator
 
Moving data for the masses
Moving data for the massesMoving data for the masses
Moving data for the masses
 

Recently uploaded

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 

MySQL Sandbox quick demo

  • 1. MySQL Sandbox •one (unix) host •many database servers •single or multiple sandboxes •installs IN SECONDS •Free software (GPL) http://mysqlsandbox.net MySQL Sandbox is a tool that installs an additional MySQL server in a few seconds. You can have more than one database servers in your host, all of them independent from each other. Installing a new server with MySQL Sandbox is a matter of seconds. You can install either a single sandbox or a system including multiple ones. It is free software, and it works on most every unix system.
  • 2. 1 host - many servers HOST When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test database servers in your host. You want to be able to test in different conditions, possibly with different versions. With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and they will not interfere with each other.
  • 3. 1 host - many servers 5.0.83 single HOST When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test database servers in your host. You want to be able to test in different conditions, possibly with different versions. With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and they will not interfere with each other.
  • 4. 1 host - many servers 5.1.35 5.0.83 single single HOST When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test database servers in your host. You want to be able to test in different conditions, possibly with different versions. With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and they will not interfere with each other.
  • 5. 1 host - many servers 5.1.35 5.0.83 single single single 5.4.1 HOST When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test database servers in your host. You want to be able to test in different conditions, possibly with different versions. With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and they will not interfere with each other.
  • 6. 1 host - many servers 5.1.35 5.0.83 single single 5.0.82 master 5.0.82 5.0.82 slave slave standard replication single 5.4.1 HOST When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test database servers in your host. You want to be able to test in different conditions, possibly with different versions. With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and they will not interfere with each other.
  • 7. 1 host - many servers 5.1.35 5.1.35 5.0.83 single single 5.4.1 5.0.83 5.0.82 group master 5.0.82 5.0.82 slave slave standard replication single 5.4.1 HOST When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test database servers in your host. You want to be able to test in different conditions, possibly with different versions. With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and they will not interfere with each other.
  • 8. 1 host - many servers 5.1.35 5.1.35 5.0.83 single single 5.4.1 5.0.83 5.0.82 group master 5.1.34 5.0.82 5.0.82 slave slave 5.1.34 5.1.34 standard replication circular 5.1.34 single 5.4.1 replication HOST When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test database servers in your host. You want to be able to test in different conditions, possibly with different versions. With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and they will not interfere with each other.
  • 9. 1 host - many servers 5.1.35 ALL 5.1.35 5.0.83 single single 5.4.1 5.0.83 5.0.82 group INDEPENDENT master 5.1.34 5.0.82 5.0.82 slave slave 5.1.34 5.1.34 standard replication circular 5.1.34 single 5.4.1 replication HOST When you need to test enterprise software, the database is a core component. For this, it's important to be able to have test database servers in your host. You want to be able to test in different conditions, possibly with different versions. With MySQL Sandbox, it's easy to create single servers of different versions, or a replicated system with master and salves, or a group of servers with various versions, or a circular replication system. You can have all of them, one by one , or all at once, and they will not interfere with each other.
  • 10. Installation •as root #
cpan
MySQL::Sandbox Installing MySQL Sandbox is easy. It is a Perl module. Getting it in your server is just a matter of typing one commend as root. If you want, you can also install in the user space. The reference manual explains how to do it.
  • 11. Creating a single sandbox •as normal user #
make_sandbox
 


/path/to/mysql‐5.1.35‐YOUROS.gz Let's make your first sandbox. It's as simple as saying "make_sandbox" and the name of a MySQL tarball. This will expand the tarball and create a sandbox very fast. If you have already expanded the tarball in a predefined directory, you can call "make_sandbox" with the simplified syntax. It is FAST!
  • 12. Creating a single sandbox •as normal user #
make_sandbox
 


/path/to/mysql‐5.1.35‐YOUROS.gz •if you have expanded tarballs already Let's make your first sandbox. It's as simple as saying "make_sandbox" and the name of a MySQL tarball. This will expand the tarball and create a sandbox very fast. If you have already expanded the tarball in a predefined directory, you can call "make_sandbox" with the simplified syntax. It is FAST!
  • 13. Creating a single sandbox •as normal user #
make_sandbox
 


/path/to/mysql‐5.1.35‐YOUROS.gz •if you have expanded tarballs already #
make_sandbox
5.1.35 Let's make your first sandbox. It's as simple as saying "make_sandbox" and the name of a MySQL tarball. This will expand the tarball and create a sandbox very fast. If you have already expanded the tarball in a predefined directory, you can call "make_sandbox" with the simplified syntax. It is FAST!
  • 14. Creating a single sandbox •as normal user #
make_sandbox
 < 10 seconds! 


/path/to/mysql‐5.1.35‐YOUROS.gz • if you have expanded tarballs already #
make_sandbox
5.1.35 Let's make your first sandbox. It's as simple as saying "make_sandbox" and the name of a MySQL tarball. This will expand the tarball and create a sandbox very fast. If you have already expanded the tarball in a predefined directory, you can call "make_sandbox" with the simplified syntax. It is FAST!
  • 15. Creating a replication sandbox •as normal user #
make_replication_sandbox
 


/path/to/mysql‐5.1.35‐YOUROS.gz Creating a replication system is equally easy. If you have ever set up MySQL replication servers you know that it is not extremely complicated, but the chances of making mistakes are quite a lot. Using MySQL Sandbox, you can create a replication system as easoly as you make a single one. And you will be surprised at how fast it is!
  • 16. Creating a replication sandbox •as normal user #
make_replication_sandbox
 


/path/to/mysql‐5.1.35‐YOUROS.gz •if you have expanded tarballs already Creating a replication system is equally easy. If you have ever set up MySQL replication servers you know that it is not extremely complicated, but the chances of making mistakes are quite a lot. Using MySQL Sandbox, you can create a replication system as easoly as you make a single one. And you will be surprised at how fast it is!
  • 17. Creating a replication sandbox •as normal user #
make_replication_sandbox
 


/path/to/mysql‐5.1.35‐YOUROS.gz •if you have expanded tarballs already #
make_replication_sandbox
5.1.35 Creating a replication system is equally easy. If you have ever set up MySQL replication servers you know that it is not extremely complicated, but the chances of making mistakes are quite a lot. Using MySQL Sandbox, you can create a replication system as easoly as you make a single one. And you will be surprised at how fast it is!
  • 18. Creating a replication sandbox •as normal user #
make_replication_sandbox
 < 20 seconds! 


/path/to/mysql‐5.1.35‐YOUROS.gz • if you have expanded tarballs already #
make_replication_sandbox
5.1.35 Creating a replication system is equally easy. If you have ever set up MySQL replication servers you know that it is not extremely complicated, but the chances of making mistakes are quite a lot. Using MySQL Sandbox, you can create a replication system as easoly as you make a single one. And you will be surprised at how fast it is!
  • 19. SHORTCUT - Creating and Using a sandbox Starting with MySQL Sandbox 3.0.04, there is also a shortcut script that can make your life much easier. You can create a sandbox and use it with a very short command. You need to try it to believe it.
  • 20. SHORTCUT - Creating and Using a sandbox •as normal user (requires version 3.0.04) Starting with MySQL Sandbox 3.0.04, there is also a shortcut script that can make your life much easier. You can create a sandbox and use it with a very short command. You need to try it to believe it.
  • 21. SHORTCUT - Creating and Using a sandbox •as normal user (requires version 3.0.04) #
sb
5.0.83 Starting with MySQL Sandbox 3.0.04, there is also a shortcut script that can make your life much easier. You can create a sandbox and use it with a very short command. You need to try it to believe it.
  • 22. SHORTCUT - Creating and Using a sandbox •as normal user (requires version 3.0.04) #
sb
5.0.83 < 5 seconds! Starting with MySQL Sandbox 3.0.04, there is also a shortcut script that can make your life much easier. You can create a sandbox and use it with a very short command. You need to try it to believe it.
  • 23. example $
make_sandbox
5.0.82
 [...] .
sandbox
server
started Your
sandbox
server
was
installed
in
 $SANDBOX_HOME/msb_5_0_82 $
$SANDBOX_HOME/msb_5_0_82/use
 


‐e
"select
version()" +‐‐‐‐‐‐‐‐‐‐‐+ |
version()
| +‐‐‐‐‐‐‐‐‐‐‐+ |
5.0.82



|
 +‐‐‐‐‐‐‐‐‐‐‐+ Here's an example of a single sandbox. First you create it. MySQL Sandbox will show you what it's doing and ask for confirmation. This will take a few seconds. Once the sandbox has been created, you can use it immediately. No need to remember complicated options. The sandbox includes scripts to use it easily, as you see in the screen. Just say "use", and it will invoke the mysql command line with all the necessary options, which you don't have to remember
  • 24. example (shortcut) $
time
sb
5.0.82
‐e
"select
version()" [...] .
sandbox
server
started Your
sandbox
server
was
installed
in
 $SANDBOX_HOME/msb_5_0_82 +‐‐‐‐‐‐‐‐‐‐‐+ |
version()
| +‐‐‐‐‐‐‐‐‐‐‐+ |
5.0.82



|
 +‐‐‐‐‐‐‐‐‐‐‐+ real
 0m2.041s user
 0m0.290s sys
 0m0.210s The same two tasks that you have seen in the previous slide can be achieved at once with the new shortcut. One single command that creates the sandbox and lets you use it. This timing is in my laptop. Using a powerful server will be even faster.
  • 25. example replication $
make_replication_sandbox
5.0.82
 [...] replication
directory
installed
on
 $SANDBOX_HOME/rsandbox_5_0_82 $
$SANDBOX_HOME/rsandbox_5_8_82/m
 

‐e
"select
version()" +‐‐‐‐‐‐‐‐‐‐‐+ |
version()
| +‐‐‐‐‐‐‐‐‐‐‐+ |
5.0.82



|
 +‐‐‐‐‐‐‐‐‐‐‐+ Creating a replication system is similar. Just use the make_replication_sandbox script instead of make_sandbox, and the program will take care of all the details. Inside a replication sandbox you will have one sandbox for the master and one for each slave. No need to remember which is which. The sandbox offers a shortcut script for each role. "m" is for master, "s1" for the first slave, and so on.
  • 26. example replication (shortcut) $
time
sb
r5.0.82
‐e
"select
version()" [...] replication
directory
installed
in
$HOME/ rsandbox_5_0_82 +‐‐‐‐‐‐‐‐‐‐‐‐+ |
version()

| +‐‐‐‐‐‐‐‐‐‐‐‐+ |
5.0.82‐log
|
 +‐‐‐‐‐‐‐‐‐‐‐‐+ real
 0m4.682s user
 0m0.795s sys
 0m0.585s You can use the shortcut script for the replication as well. Here's an example of such call. You will invoke sb, followed by an "r" and the version number. The shortcut script will do everything for you. Create a replication system and then invoke the master.
  • 27. more control with replication $
cd
$SANDBOX_HOME/rsandbox_5_8_82 $
./use_all
"SELECT
@@server_id" #
master

 @@server_id 1 #
server:
1:
 @@server_id 101 #
server:
2:
 @@server_id 102 For multiple sandboxes, you have additional scripts. There are scripts for starting, stopping, and cleaning up all the depending sandboxes at once. And there is a script that lets you tun the same SQL statement in all the nodes. In this example, you see the query "SELECT @@server_id" executed by the master and the slaves in sequence.
  • 28. Self contained •All sandboxes are created inside $SANDBOX_HOME •Use all at once •Great control http://mysqlsandbox.net Using MySQL Sandbox servers is safe and easy. Stopping and starting all the servers at once is a simple script call. Since all sandboxes are under the same tree, it's also easy to keep track of storage. There is much more that you can do. Check the MySQL Sandbox site for the reference manual and a detailed cookbook with practical guidance.