SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
Test early MySQL versions in a sandbox
  Giuseppe Maxia
  QA Director, Continuent, Inc
  Oracle ACE Director for MySQL



                                           1
Wednesday, March 21, 12
about me - Giuseppe Maxia
 •      a.k.a. The Data Charmer
 •      QA Director at Continuent, Inc
 •      Long time hacking with MySQL features
 •      Formerly, community manager,db consultant, designer,
        coder.
 •      A passion for QA and open source
 •      Blogger
 • http://datacharmer.blogspot.com


Wednesday, March 21, 12
MySQL Sandbox
                       lightning
                     presentation

Wednesday, March 21, 12
I used to install a lot of
                           MySQL databases for
                                  testing


                 MANUALLY
Wednesday, March 21, 12
Then, I decided
                           to use Perl ...


Wednesday, March 21, 12
DBA pop
                            quiz
Wednesday, March 21, 12
HOW MANY KEYSTROKES
               to install a MySQL server?




Wednesday, March 21, 12
HOW MANY KEYSTROKES
               to install a MySQL server?


                     10
             sb 5.0.83
             1234567890
Wednesday, March 21, 12
HOW MANY KEYSTROKES
                  to install 3 MySQL servers
                        in replication?




Wednesday, March 21, 12
HOW MANY KEYSTROKES
                  to install 3 MySQL servers
                        in replication?

                11
       sb r5.0.83
       12345678901
Wednesday, March 21, 12
HOW LONG
                       does it take
                to install a MySQL server?




Wednesday, March 21, 12
HOW LONG
                       does it take
                to install a MySQL server?


                            < 5 seconds
                          time sb 5.0.83
                             0m1.518s
Wednesday, March 21, 12
HOW LONG
                            does it take
                  to install 3 MySQL servers in
                            replication?




Wednesday, March 21, 12
HOW LONG
                            does it take
                  to install 3 MySQL servers in
                            replication?

                          < 10 seconds
                           sb 5.0.83
                            0m4.515s
Wednesday, March 21, 12
MySQL Sandbox
                          http://mysqlsandbox.net
            • Free software (Perl under GPL)
            • One (unix) host
            • Many database servers
            • Single or multiple sandboxes
            • Customized scripts to use the servers
            • Standard or circular replication
            • Installs IN SECONDS
Wednesday, March 21, 12
overview

        MySQL                                           MySQL
        server                                          server
           Data           DB1                    Data       DB1




           DB2            DB3
                                DATA DIRECTORY   DB2        DB3




                                     PORT


                                     SOCKET

Wednesday, March 21, 12
overview

        MySQL                                                 MySQL
        server                                                server
           Data           DB1
                                       SAME            Data       DB1




           DB2            DB3
                                       DATA            DB2        DB3

                                    DIRECTORY?
  /var/lib/mysql                                 /var/lib/mysql




                                DATA CORRUPTION
Wednesday, March 21, 12
overview

        MySQL                                     MySQL
        server                                    server

                                  SAME
                                 PORT or
                                 SOCKET?
                      3306                      3306


 /tmp/mysql.sock                           /tmp/mysql.sock

                             DOES NOT START
Wednesday, March 21, 12
The hard way




Wednesday, March 21, 12
The hard way

   Read the manual




Wednesday, March 21, 12
The hard way

                           try to figure out
   Read the manual
                           what to change




Wednesday, March 21, 12
The hard way

                           try to figure out
   Read the manual                            Install
                           what to change




Wednesday, March 21, 12
The easy way

                           MySQL Sandbox


    $ make_sandbox 
        /path/to/mysql-5.1.54_linux.tar.gz

    # it should work always




Wednesday, March 21, 12
The easier way

                     Prepare once        Install many times

  # some                            $ make_sandbox 5.1.54
  # preliminary
  # work




Wednesday, March 21, 12
The easiest way

                     Prepare once       Install many times

  # some
  # preliminary                     $ sb 5.1.54
  # work




Wednesday, March 21, 12
MySQL Sandbox
                                                        VERSION
                                               MySQL
                                               server
           Data           DB1




           DB2            DB3
                                $SANDBOX_HOME/msb_VERSION/data


                                                         VERSION


                                      /tmp/mysql_VERSION.sock

Wednesday, March 21, 12
MySQL Sandbox
                                                       5.1.54
                                              MySQL
                                              server
           Data           DB1




           DB2            DB3
                                $SANDBOX_HOME/msb_5_1_54/data


                                                          5154


                                        /tmp/mysql_5154.sock

Wednesday, March 21, 12
MySQL Sandbox
                                                       5.5.9
                                              MySQL
                                              server
           Data           DB1




           DB2            DB3
                                $SANDBOX_HOME/msb_5_5_09/data


                                                         5509


                                        /tmp/mysql_5509.sock

Wednesday, March 21, 12
Single Sandbox
            MySQL             customized scripts
            server


     start
     stop
    restart
    status
     clear
   send_kill
      use

Wednesday, March 21, 12
Multiple Sandbox
           MySQL               customized scripts
           server


      start_all
      stop_all
     restart_all m n1
     status_all s1 n2
      clear_all  s2 n3
     send_kill_a
         ll
       use_all
Wednesday, March 21, 12
Where do you get it


       •from CPAN
             sudo su -
             cpan MySQL::Sandbox

       •from launchpad
             http://launchpad.net/mysql-sandbox




Wednesday, March 21, 12
The easy replication way

                            MySQL Sandbox

 $ make_replication_sandbox 
     /path/to/mysql-5.1.54_linux.tar.gz


             Prepare once            Install many times

    # some                   $ make_replication_sandbox
    # preparation            5.1.54


Wednesday, March 21, 12
default architecture
                                            $HOME




                               /sandboxes            opt
                                                                 expanded
                                                                  tarballs
                          $SANDBOX_HOME
                                                    mysql


                                               $SANDBOX_BINARY
          installed
         sandboxes

Wednesday, March 21, 12
default architecture
                                                    $HOME



                                       /sandboxes            opt



                          msb_5_0_91
                                                            mysql
                          msb_5_1_48
                                                                    5.0.91
                          rsandbox_5_1_48
                                                                    5.1.45
                                 master
                                                                    5.1.48
                                 node1
                                                                    5.5.4
                                 node2
Wednesday, March 21, 12
MySQL Sandbox cookbook


 $ perldoc MySQL::Sandbox::Recipes




Wednesday, March 21, 12
Early MySQL versions in a
                                  sandbox

                             5.6     5.6



                                     5.6




Wednesday, March 21, 12
Where to get the software
                                        http://labs.mysql.com


                                            http://dev.mysql.com




Wednesday, March 21, 12
Wednesday, March 21, 12
Where is MySQL 5.6




Wednesday, March 21, 12
The bleeding edge


                           http://code.launchpad.net/mysql-server




Wednesday, March 21, 12
HANDS ON
    ls labs

    mysql-5.6.2-m5-osx10.6-x86_64.tar.gz
    mysql-5.6.5-m8-osx10.7-.tar.gz
    mysql-5.6.3-labs-innodb-fts-osx10.5-
    x86.tar.gz
    mysql-5.6.4-m7-osx10.5-x86.tar.gz




Wednesday, March 21, 12
Innodb fulltext
    make_sandbox mysql-5.6.5-m8-
    osx10.7-.tar.gz
    ....
    ....
    Your sandbox server was installed in
    $HOME/sandboxes/msb_5_6_5




Wednesday, March 21, 12
testing innodb fulltext
    ~/sandboxes/msb_5_6_5/use
    Welcome to the MySQL monitor.   Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.6.5-m8 Source distribution
    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective owners.
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.


    mysql [localhost] {msandbox} ((none)) >




Wednesday, March 21, 12
testing innodb fulltext
    create table mysql_manual (
    id int not null auto_increment ,
    title varchar(100) not null,
    chapter mediumtext,
    primary key (id),
    fulltext index (title, chapter)
    ) engine = INNODB;




Wednesday, March 21, 12
testing innodb fulltext
    show create table mysql_manualG
    ****************** 1. row *********
           Table: mysql_manual
    Create Table: CREATE TABLE `mysql_manual` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `title` varchar(100) NOT NULL,
      `chapter` mediumtext,
      PRIMARY KEY (`id`),
      FULLTEXT KEY `title` (`title`,`chapter`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1




Wednesday, March 21, 12
testing innodb fulltext
                    Using a copy of MySQL manual to fill the table

    for P in $PWD/refman-5.5-en.html-chapter/*.html;
    do echo "insert into mysql_manual(title,chapter)
    values ('`basename $P .html`', load_file('$P'));";
    done | ~/sandboxes/msb_5_6_5/use -vv test
    ....
    insert into mysql_manual(title,chapter) values
    ('stored-programs-views', load_file('/Users/gmax/
    labs/refman-5.5-en.html-chapter/stored-programs-
    views.html'))
    Query OK, 1 row affected
    ....



Wednesday, March 21, 12
testing innodb fulltext
    select title from mysql_manual where
    match(title,chapter)
    against ('+optimize +queries' in boolean mode);
    +-------------------------+
    | title                   |
    +-------------------------+
    | backup-and-recovery     |
    ...
    | extending-mysql         |
    | functions               |
    | ha-overview             |
    ...
    | optimization            |
    | partitioning            |
    | replication             |
    | restrictions            |
    +-------------------------+
    16 rows in set (0.00 sec)



Wednesday, March 21, 12
testing innodb fulltext
    select title from mysql_manual where
    match(title,chapter) against ('"optimize queries"
    @10' in boolean mode);
    +------------------+
    | title            |
    +------------------+
    | introduction     |
    | optimization     |
    +------------------+
    2 rows in set (0.00 sec)

    ##
    ## @10 = proximity operator
    ##




Wednesday, March 21, 12
testing some replication
    make_replication_sandbox mysql-5.6.5-m8-
    osx10.7-.tar.gz
    ....
    ....
    replication directory installed in
    $HOME/sandboxes/rsandbox_mysql-5_6_5




Wednesday, March 21, 12
testing some replication
    ~/sandboxes/rsandbox_mysql-5_6_5/s1
    show slave statusG
    ******** 1. row ***************************
         Slave_IO_State: Waiting for master to send event
                       Master_Host: 127.0.0.1
                       Master_User: rsandbox
                       Master_Port: 12630
                     Connect_Retry: 60
                  Master_Log_File: mysql-bin.000001
              Read_Master_Log_Pos: 2524
                   Relay_Log_File: mysql_sandbox12631-
    relay-bin.000002
                     Relay_Log_Pos: 2677
            Relay_Master_Log_File: mysql-bin.000001
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes


Wednesday, March 21, 12
testing some replication
    ~/sandboxes/rsandbox_mysql-5_6_5/s1
    show slave statusG
    ....
    Master_Server_Id: 1
    Master_UUID: be3c022a-726f-11e1-a26a-a64f991393aa
    Master_Info_File: /Users/gmax/sandboxes/
    rsandbox_mysql-5_6_5/node1/data/master.info
    SQL_Delay: 0
    SQL_Remaining_Delay: NULL
    Slave_SQL_Running_State: Slave has read all relay
    log; waiting for the slave I/O thread to update it




Wednesday, March 21, 12
uncovering replication
                                features
    show variables like '%info%';
    +---------------------------+----------------+
    | Variable_name              | Value          |
    +---------------------------+----------------+
    | master_info_repository     | FILE           |
    | relay_log_info_file        | relay-log.info |
    | relay_log_info_repository | FILE            |
    | sync_master_info           | 0              |
    | sync_relay_log_info        | 0              |
    +---------------------------+----------------+
    show variables like '%worker%';
    +------------------------+-------+
    | Variable_name          | Value |
    +------------------------+-------+
    | slave_parallel_workers | 0      |
    +------------------------+-------+

Wednesday, March 21, 12
uncovering replication
                                features
    STOP SLAVE;

    set global master_info_repository='table';
    Query OK, 0 rows affected (0.00 sec)

    slave1 [localhost] {msandbox} ((none)) > set global
    relay_log_info_repository='table';
    Query OK, 0 rows affected (0.00 sec)

    slave1 [localhost] {msandbox} ((none)) > set global
    slave_parallel_workers=3;
    Query OK, 0 rows affected (0.00 sec)




Wednesday, March 21, 12
fixing replication tables
    use mysql;

    slave1 [localhost] {msandbox} (mysql) > alter table
    slave_master_info engine=innodb;
    Query OK, 1 row affected (0.01 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    slave1 [localhost] {msandbox} (mysql) > alter table
    slave_relay_log_info engine=innodb;
    Query OK, 1 row affected (0.01 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    slave1 [localhost] {msandbox} (mysql) > alter table
    slave_worker_info engine=innodb;
    Query OK, 0 rows affected (0.01 sec)
    Records: 0 Duplicates: 0 Warnings: 0


Wednesday, March 21, 12
Look at the new features
    show slave statusG
    ....
    ....
    Master_UUID: be3c022a-726f-11e1-a26a-
    a64f991393aa
    Master_Info_File:
    mysql.slave_master_info




Wednesday, March 21, 12
Look at the new features
    select * from mysql.slave_master_infoG
    *************************** 1. row ******
                  Master_id: 101
            Number_of_lines: 22
            Master_log_name: mysql-bin.000001
             Master_log_pos: 2524
                       Host: 127.0.0.1
                  User_name: rsandbox
              User_password: rsandbox
                       Port: 12630
    ....
                  Heartbeat: 1800
                       Bind:
         Ignored_server_ids: 0
         Uuid: be3c022a-726f-11e1-a26a-a64f991393aa
                Retry_count: 86400


Wednesday, March 21, 12
Look at the new features
    select * from mysql.slave_relay_log_infoG
    *************************** 1. row ***************
            Master_id: 101
      Number_of_lines: 6
       Relay_log_name: ./mysql_sandbox12631-relay-bin.
    000002
        Relay_log_pos: 2677
      Master_log_name: mysql-bin.000001
       Master_log_pos: 2524
            Sql_delay: 0
    Number_of_workers: 3




Wednesday, March 21, 12
Look at the new features
    select * from mysql.slave_worker_infoG
    ************** 3. row *********************
                      Master_id: 101
                      Worker_id: 2
                 Relay_log_name: ./mysql_sandbox12631-relay-
    bin.000003
                  Relay_log_pos: 1394
                Master_log_name: mysql-bin.000001
                 Master_log_pos: 3651
     Checkpoint_relay_log_name: ./mysql_sandbox12631-relay-
    bin.000003
      Checkpoint_relay_log_pos: 1199
    Checkpoint_master_log_name: mysql-bin.000001
     Checkpoint_master_log_pos: 3456
               Checkpoint_seqno: 0
         Checkpoint_group_size: 64
       Checkpoint_group_bitmap:



Wednesday, March 21, 12
DEMO




Wednesday, March 21, 12
Participate!




Wednesday, March 21, 12
THANKS
                                                                                 Let's talk!




 This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this license, visit http://
 creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California,
 94105, USA.
Wednesday, March 21, 12

Weitere ähnliche Inhalte

Was ist angesagt?

MySQL Cluster 8.0 tutorial text
MySQL Cluster 8.0 tutorial textMySQL Cluster 8.0 tutorial text
MySQL Cluster 8.0 tutorial textFrazer Clement
 
HTTP Plugin for MySQL!
HTTP Plugin for MySQL!HTTP Plugin for MySQL!
HTTP Plugin for MySQL!Ulf Wendel
 
UKOUG 2011: MySQL Architectures for Oracle DBA's
UKOUG 2011: MySQL Architectures for Oracle DBA'sUKOUG 2011: MySQL Architectures for Oracle DBA's
UKOUG 2011: MySQL Architectures for Oracle DBA'sFromDual GmbH
 
Galera Cluster: Synchronous Multi-Master Replication for MySQL HA
Galera Cluster: Synchronous Multi-Master Replication for MySQL HAGalera Cluster: Synchronous Multi-Master Replication for MySQL HA
Galera Cluster: Synchronous Multi-Master Replication for MySQL HALudovico Caldara
 
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyContinuent
 
Advanced mysql replication for the masses
Advanced mysql replication for the massesAdvanced mysql replication for the masses
Advanced mysql replication for the massesGiuseppe Maxia
 
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007eLiberatica
 
What's New in MySQL 5.6
What's New in MySQL 5.6What's New in MySQL 5.6
What's New in MySQL 5.6Santo Leto
 
Built-in query caching for all PHP MySQL extensions/APIs
Built-in query caching for all PHP MySQL extensions/APIsBuilt-in query caching for all PHP MySQL extensions/APIs
Built-in query caching for all PHP MySQL extensions/APIsUlf Wendel
 
The Dolphins Leap Again
The Dolphins Leap AgainThe Dolphins Leap Again
The Dolphins Leap AgainIvan Zoratti
 
Debugging and Configuration Best Practices for Oracle Linux
Debugging and Configuration Best Practices for Oracle LinuxDebugging and Configuration Best Practices for Oracle Linux
Debugging and Configuration Best Practices for Oracle LinuxTerry Wang
 
MySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryMySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryLouis liu
 
The History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemThe History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemRonald Bradford
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsRonald Bradford
 
HA Clustering of PostgreSQL(replication)@2012.9.29 PG Study.
HA Clustering of PostgreSQL(replication)@2012.9.29 PG Study.HA Clustering of PostgreSQL(replication)@2012.9.29 PG Study.
HA Clustering of PostgreSQL(replication)@2012.9.29 PG Study.Takatoshi Matsuo
 
What makes JBoss AS7 tick?
What makes JBoss AS7 tick?What makes JBoss AS7 tick?
What makes JBoss AS7 tick?marius_bogoevici
 
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016Dave Stokes
 
Failover or not to failover
Failover or not to failoverFailover or not to failover
Failover or not to failoverHenrik Ingo
 
Oracle Client Failover - Under The Hood
Oracle Client Failover - Under The HoodOracle Client Failover - Under The Hood
Oracle Client Failover - Under The HoodLudovico Caldara
 

Was ist angesagt? (20)

MySQL Cluster 8.0 tutorial text
MySQL Cluster 8.0 tutorial textMySQL Cluster 8.0 tutorial text
MySQL Cluster 8.0 tutorial text
 
HTTP Plugin for MySQL!
HTTP Plugin for MySQL!HTTP Plugin for MySQL!
HTTP Plugin for MySQL!
 
UKOUG 2011: MySQL Architectures for Oracle DBA's
UKOUG 2011: MySQL Architectures for Oracle DBA'sUKOUG 2011: MySQL Architectures for Oracle DBA's
UKOUG 2011: MySQL Architectures for Oracle DBA's
 
Galera Cluster: Synchronous Multi-Master Replication for MySQL HA
Galera Cluster: Synchronous Multi-Master Replication for MySQL HAGalera Cluster: Synchronous Multi-Master Replication for MySQL HA
Galera Cluster: Synchronous Multi-Master Replication for MySQL HA
 
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
 
Advanced mysql replication for the masses
Advanced mysql replication for the massesAdvanced mysql replication for the masses
Advanced mysql replication for the masses
 
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
"Advanced MySQL 5 Tuning" by Michael Monty Widenius @ eLiberatica 2007
 
What's New in MySQL 5.6
What's New in MySQL 5.6What's New in MySQL 5.6
What's New in MySQL 5.6
 
Built-in query caching for all PHP MySQL extensions/APIs
Built-in query caching for all PHP MySQL extensions/APIsBuilt-in query caching for all PHP MySQL extensions/APIs
Built-in query caching for all PHP MySQL extensions/APIs
 
The Dolphins Leap Again
The Dolphins Leap AgainThe Dolphins Leap Again
The Dolphins Leap Again
 
Debugging and Configuration Best Practices for Oracle Linux
Debugging and Configuration Best Practices for Oracle LinuxDebugging and Configuration Best Practices for Oracle Linux
Debugging and Configuration Best Practices for Oracle Linux
 
MySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryMySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summary
 
The History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystemThe History and Future of the MySQL ecosystem
The History and Future of the MySQL ecosystem
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery Essentials
 
MySQL 开发
MySQL 开发MySQL 开发
MySQL 开发
 
HA Clustering of PostgreSQL(replication)@2012.9.29 PG Study.
HA Clustering of PostgreSQL(replication)@2012.9.29 PG Study.HA Clustering of PostgreSQL(replication)@2012.9.29 PG Study.
HA Clustering of PostgreSQL(replication)@2012.9.29 PG Study.
 
What makes JBoss AS7 tick?
What makes JBoss AS7 tick?What makes JBoss AS7 tick?
What makes JBoss AS7 tick?
 
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
MySQL Utilities -- Cool Tools For You: PHP World Nov 16 2016
 
Failover or not to failover
Failover or not to failoverFailover or not to failover
Failover or not to failover
 
Oracle Client Failover - Under The Hood
Oracle Client Failover - Under The HoodOracle Client Failover - Under The Hood
Oracle Client Failover - Under The Hood
 

Ähnlich wie Testing early mysql releases in a sandbox

What can we learn from NoSQL technologies?
What can we learn from NoSQL technologies?What can we learn from NoSQL technologies?
What can we learn from NoSQL technologies?Ivan Zoratti
 
MySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Brasil
 
Dbdeployer, the universal installer
Dbdeployer, the universal installerDbdeployer, the universal installer
Dbdeployer, the universal installerGiuseppe Maxia
 
Posscon my sql56
Posscon my sql56Posscon my sql56
Posscon my sql56Dave Stokes
 
Tango Database & MySQL Cluster
Tango Database & MySQL ClusterTango Database & MySQL Cluster
Tango Database & MySQL Clusterelliando dias
 
MySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and DevelopersMySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and DevelopersRonald Bradford
 
Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk Dave Stokes
 
Automatic Configuration of Your Cloud with Puppet
Automatic Configuration of Your Cloud with PuppetAutomatic Configuration of Your Cloud with Puppet
Automatic Configuration of Your Cloud with PuppetPuppet
 
Cloud building talk
Cloud building talkCloud building talk
Cloud building talkbodepd
 
Introduction to Galera
Introduction to GaleraIntroduction to Galera
Introduction to GaleraHenrik Ingo
 
Technology Day 2011 MySQL & MariaDB
Technology Day 2011 MySQL & MariaDBTechnology Day 2011 MySQL & MariaDB
Technology Day 2011 MySQL & MariaDBDan-Claudiu Dragoș
 
ConFoo MySQL Replication Evolution : From Simple to Group Replication
ConFoo  MySQL Replication Evolution : From Simple to Group ReplicationConFoo  MySQL Replication Evolution : From Simple to Group Replication
ConFoo MySQL Replication Evolution : From Simple to Group ReplicationDave Stokes
 
Use Your MySQL Knowledge to Become a MongoDB Guru
Use Your MySQL Knowledge to Become a MongoDB GuruUse Your MySQL Knowledge to Become a MongoDB Guru
Use Your MySQL Knowledge to Become a MongoDB GuruTim Callaghan
 
The MySQL Diaspora
The MySQL DiasporaThe MySQL Diaspora
The MySQL DiasporaYUCHENG HU
 
MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017Dave Stokes
 
Master master vs master-slave database
Master master vs master-slave databaseMaster master vs master-slave database
Master master vs master-slave databaseWipro
 
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans Acunu
 

Ähnlich wie Testing early mysql releases in a sandbox (20)

What can we learn from NoSQL technologies?
What can we learn from NoSQL technologies?What can we learn from NoSQL technologies?
What can we learn from NoSQL technologies?
 
MySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Cluster no PayPal
MySQL Cluster no PayPal
 
Dbdeployer, the universal installer
Dbdeployer, the universal installerDbdeployer, the universal installer
Dbdeployer, the universal installer
 
Posscon my sql56
Posscon my sql56Posscon my sql56
Posscon my sql56
 
Tango Database & MySQL Cluster
Tango Database & MySQL ClusterTango Database & MySQL Cluster
Tango Database & MySQL Cluster
 
MySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and DevelopersMySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and Developers
 
Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk
 
Automatic Configuration of Your Cloud with Puppet
Automatic Configuration of Your Cloud with PuppetAutomatic Configuration of Your Cloud with Puppet
Automatic Configuration of Your Cloud with Puppet
 
Cloud building talk
Cloud building talkCloud building talk
Cloud building talk
 
Introduction to Galera
Introduction to GaleraIntroduction to Galera
Introduction to Galera
 
Technology Day 2011 MySQL & MariaDB
Technology Day 2011 MySQL & MariaDBTechnology Day 2011 MySQL & MariaDB
Technology Day 2011 MySQL & MariaDB
 
ConFoo MySQL Replication Evolution : From Simple to Group Replication
ConFoo  MySQL Replication Evolution : From Simple to Group ReplicationConFoo  MySQL Replication Evolution : From Simple to Group Replication
ConFoo MySQL Replication Evolution : From Simple to Group Replication
 
MySQL Sandbox 3
MySQL Sandbox 3MySQL Sandbox 3
MySQL Sandbox 3
 
Use Your MySQL Knowledge to Become a MongoDB Guru
Use Your MySQL Knowledge to Become a MongoDB GuruUse Your MySQL Knowledge to Become a MongoDB Guru
Use Your MySQL Knowledge to Become a MongoDB Guru
 
The MySQL Diaspora
The MySQL DiasporaThe MySQL Diaspora
The MySQL Diaspora
 
MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017
 
Grails 2.0 Update
Grails 2.0 UpdateGrails 2.0 Update
Grails 2.0 Update
 
MySQL ppt
MySQL ppt MySQL ppt
MySQL ppt
 
Master master vs master-slave database
Master master vs master-slave databaseMaster master vs master-slave database
Master master vs master-slave database
 
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
Cassandra EU 2012 - CQL: Then, Now and When by Eric Evans
 

Mehr von Giuseppe Maxia

MySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerMySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerGiuseppe 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
 
Juggle your data with Tungsten Replicator
Juggle your data with Tungsten ReplicatorJuggle your data with Tungsten Replicator
Juggle your data with Tungsten ReplicatorGiuseppe 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
 
State of the art of MySQL replication and clustering
State of the art of MySQL replication and clusteringState of the art of MySQL replication and clustering
State of the art of MySQL replication and clusteringGiuseppe 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
 
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
 

Mehr von Giuseppe Maxia (20)

MySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerMySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployer
 
Test like a_boss
Test like a_bossTest like a_boss
Test like a_boss
 
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
 
Juggle your data with Tungsten Replicator
Juggle your data with Tungsten ReplicatorJuggle your data with Tungsten Replicator
Juggle your data with Tungsten Replicator
 
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
 
State of the art of MySQL replication and clustering
State of the art of MySQL replication and clusteringState of the art of MySQL replication and clustering
State of the art of MySQL replication and clustering
 
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
 
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
 

Kürzlich hochgeladen

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Kürzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Testing early mysql releases in a sandbox

  • 1. Test early MySQL versions in a sandbox Giuseppe Maxia QA Director, Continuent, Inc Oracle ACE Director for MySQL 1 Wednesday, March 21, 12
  • 2. about me - Giuseppe Maxia • a.k.a. The Data Charmer • QA Director at Continuent, Inc • Long time hacking with MySQL features • Formerly, community manager,db consultant, designer, coder. • A passion for QA and open source • Blogger • http://datacharmer.blogspot.com Wednesday, March 21, 12
  • 3. MySQL Sandbox lightning presentation Wednesday, March 21, 12
  • 4. I used to install a lot of MySQL databases for testing MANUALLY Wednesday, March 21, 12
  • 5. Then, I decided to use Perl ... Wednesday, March 21, 12
  • 6. DBA pop quiz Wednesday, March 21, 12
  • 7. HOW MANY KEYSTROKES to install a MySQL server? Wednesday, March 21, 12
  • 8. HOW MANY KEYSTROKES to install a MySQL server? 10 sb 5.0.83 1234567890 Wednesday, March 21, 12
  • 9. HOW MANY KEYSTROKES to install 3 MySQL servers in replication? Wednesday, March 21, 12
  • 10. HOW MANY KEYSTROKES to install 3 MySQL servers in replication? 11 sb r5.0.83 12345678901 Wednesday, March 21, 12
  • 11. HOW LONG does it take to install a MySQL server? Wednesday, March 21, 12
  • 12. HOW LONG does it take to install a MySQL server? < 5 seconds time sb 5.0.83 0m1.518s Wednesday, March 21, 12
  • 13. HOW LONG does it take to install 3 MySQL servers in replication? Wednesday, March 21, 12
  • 14. HOW LONG does it take to install 3 MySQL servers in replication? < 10 seconds sb 5.0.83 0m4.515s Wednesday, March 21, 12
  • 15. MySQL Sandbox http://mysqlsandbox.net • Free software (Perl under GPL) • One (unix) host • Many database servers • Single or multiple sandboxes • Customized scripts to use the servers • Standard or circular replication • Installs IN SECONDS Wednesday, March 21, 12
  • 16. overview MySQL MySQL server server Data DB1 Data DB1 DB2 DB3 DATA DIRECTORY DB2 DB3 PORT SOCKET Wednesday, March 21, 12
  • 17. overview MySQL MySQL server server Data DB1 SAME Data DB1 DB2 DB3 DATA DB2 DB3 DIRECTORY? /var/lib/mysql /var/lib/mysql DATA CORRUPTION Wednesday, March 21, 12
  • 18. overview MySQL MySQL server server SAME PORT or SOCKET? 3306 3306 /tmp/mysql.sock /tmp/mysql.sock DOES NOT START Wednesday, March 21, 12
  • 19. The hard way Wednesday, March 21, 12
  • 20. The hard way Read the manual Wednesday, March 21, 12
  • 21. The hard way try to figure out Read the manual what to change Wednesday, March 21, 12
  • 22. The hard way try to figure out Read the manual Install what to change Wednesday, March 21, 12
  • 23. The easy way MySQL Sandbox $ make_sandbox /path/to/mysql-5.1.54_linux.tar.gz # it should work always Wednesday, March 21, 12
  • 24. The easier way Prepare once Install many times # some $ make_sandbox 5.1.54 # preliminary # work Wednesday, March 21, 12
  • 25. The easiest way Prepare once Install many times # some # preliminary $ sb 5.1.54 # work Wednesday, March 21, 12
  • 26. MySQL Sandbox VERSION MySQL server Data DB1 DB2 DB3 $SANDBOX_HOME/msb_VERSION/data VERSION /tmp/mysql_VERSION.sock Wednesday, March 21, 12
  • 27. MySQL Sandbox 5.1.54 MySQL server Data DB1 DB2 DB3 $SANDBOX_HOME/msb_5_1_54/data 5154 /tmp/mysql_5154.sock Wednesday, March 21, 12
  • 28. MySQL Sandbox 5.5.9 MySQL server Data DB1 DB2 DB3 $SANDBOX_HOME/msb_5_5_09/data 5509 /tmp/mysql_5509.sock Wednesday, March 21, 12
  • 29. Single Sandbox MySQL customized scripts server start stop restart status clear send_kill use Wednesday, March 21, 12
  • 30. Multiple Sandbox MySQL customized scripts server start_all stop_all restart_all m n1 status_all s1 n2 clear_all s2 n3 send_kill_a ll use_all Wednesday, March 21, 12
  • 31. Where do you get it •from CPAN sudo su - cpan MySQL::Sandbox •from launchpad http://launchpad.net/mysql-sandbox Wednesday, March 21, 12
  • 32. The easy replication way MySQL Sandbox $ make_replication_sandbox /path/to/mysql-5.1.54_linux.tar.gz Prepare once Install many times # some $ make_replication_sandbox # preparation 5.1.54 Wednesday, March 21, 12
  • 33. default architecture $HOME /sandboxes opt expanded tarballs $SANDBOX_HOME mysql $SANDBOX_BINARY installed sandboxes Wednesday, March 21, 12
  • 34. default architecture $HOME /sandboxes opt msb_5_0_91 mysql msb_5_1_48 5.0.91 rsandbox_5_1_48 5.1.45 master 5.1.48 node1 5.5.4 node2 Wednesday, March 21, 12
  • 35. MySQL Sandbox cookbook $ perldoc MySQL::Sandbox::Recipes Wednesday, March 21, 12
  • 36. Early MySQL versions in a sandbox 5.6 5.6 5.6 Wednesday, March 21, 12
  • 37. Where to get the software http://labs.mysql.com http://dev.mysql.com Wednesday, March 21, 12
  • 39. Where is MySQL 5.6 Wednesday, March 21, 12
  • 40. The bleeding edge http://code.launchpad.net/mysql-server Wednesday, March 21, 12
  • 41. HANDS ON ls labs mysql-5.6.2-m5-osx10.6-x86_64.tar.gz mysql-5.6.5-m8-osx10.7-.tar.gz mysql-5.6.3-labs-innodb-fts-osx10.5- x86.tar.gz mysql-5.6.4-m7-osx10.5-x86.tar.gz Wednesday, March 21, 12
  • 42. Innodb fulltext make_sandbox mysql-5.6.5-m8- osx10.7-.tar.gz .... .... Your sandbox server was installed in $HOME/sandboxes/msb_5_6_5 Wednesday, March 21, 12
  • 43. testing innodb fulltext ~/sandboxes/msb_5_6_5/use Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2 Server version: 5.6.5-m8 Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql [localhost] {msandbox} ((none)) > Wednesday, March 21, 12
  • 44. testing innodb fulltext create table mysql_manual ( id int not null auto_increment , title varchar(100) not null, chapter mediumtext, primary key (id), fulltext index (title, chapter) ) engine = INNODB; Wednesday, March 21, 12
  • 45. testing innodb fulltext show create table mysql_manualG ****************** 1. row ********* Table: mysql_manual Create Table: CREATE TABLE `mysql_manual` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) NOT NULL, `chapter` mediumtext, PRIMARY KEY (`id`), FULLTEXT KEY `title` (`title`,`chapter`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 Wednesday, March 21, 12
  • 46. testing innodb fulltext Using a copy of MySQL manual to fill the table for P in $PWD/refman-5.5-en.html-chapter/*.html; do echo "insert into mysql_manual(title,chapter) values ('`basename $P .html`', load_file('$P'));"; done | ~/sandboxes/msb_5_6_5/use -vv test .... insert into mysql_manual(title,chapter) values ('stored-programs-views', load_file('/Users/gmax/ labs/refman-5.5-en.html-chapter/stored-programs- views.html')) Query OK, 1 row affected .... Wednesday, March 21, 12
  • 47. testing innodb fulltext select title from mysql_manual where match(title,chapter) against ('+optimize +queries' in boolean mode); +-------------------------+ | title | +-------------------------+ | backup-and-recovery | ... | extending-mysql | | functions | | ha-overview | ... | optimization | | partitioning | | replication | | restrictions | +-------------------------+ 16 rows in set (0.00 sec) Wednesday, March 21, 12
  • 48. testing innodb fulltext select title from mysql_manual where match(title,chapter) against ('"optimize queries" @10' in boolean mode); +------------------+ | title | +------------------+ | introduction | | optimization | +------------------+ 2 rows in set (0.00 sec) ## ## @10 = proximity operator ## Wednesday, March 21, 12
  • 49. testing some replication make_replication_sandbox mysql-5.6.5-m8- osx10.7-.tar.gz .... .... replication directory installed in $HOME/sandboxes/rsandbox_mysql-5_6_5 Wednesday, March 21, 12
  • 50. testing some replication ~/sandboxes/rsandbox_mysql-5_6_5/s1 show slave statusG ******** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 127.0.0.1 Master_User: rsandbox Master_Port: 12630 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 2524 Relay_Log_File: mysql_sandbox12631- relay-bin.000002 Relay_Log_Pos: 2677 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Wednesday, March 21, 12
  • 51. testing some replication ~/sandboxes/rsandbox_mysql-5_6_5/s1 show slave statusG .... Master_Server_Id: 1 Master_UUID: be3c022a-726f-11e1-a26a-a64f991393aa Master_Info_File: /Users/gmax/sandboxes/ rsandbox_mysql-5_6_5/node1/data/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it Wednesday, March 21, 12
  • 52. uncovering replication features show variables like '%info%'; +---------------------------+----------------+ | Variable_name | Value | +---------------------------+----------------+ | master_info_repository | FILE | | relay_log_info_file | relay-log.info | | relay_log_info_repository | FILE | | sync_master_info | 0 | | sync_relay_log_info | 0 | +---------------------------+----------------+ show variables like '%worker%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | slave_parallel_workers | 0 | +------------------------+-------+ Wednesday, March 21, 12
  • 53. uncovering replication features STOP SLAVE; set global master_info_repository='table'; Query OK, 0 rows affected (0.00 sec) slave1 [localhost] {msandbox} ((none)) > set global relay_log_info_repository='table'; Query OK, 0 rows affected (0.00 sec) slave1 [localhost] {msandbox} ((none)) > set global slave_parallel_workers=3; Query OK, 0 rows affected (0.00 sec) Wednesday, March 21, 12
  • 54. fixing replication tables use mysql; slave1 [localhost] {msandbox} (mysql) > alter table slave_master_info engine=innodb; Query OK, 1 row affected (0.01 sec) Records: 1 Duplicates: 0 Warnings: 0 slave1 [localhost] {msandbox} (mysql) > alter table slave_relay_log_info engine=innodb; Query OK, 1 row affected (0.01 sec) Records: 1 Duplicates: 0 Warnings: 0 slave1 [localhost] {msandbox} (mysql) > alter table slave_worker_info engine=innodb; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Wednesday, March 21, 12
  • 55. Look at the new features show slave statusG .... .... Master_UUID: be3c022a-726f-11e1-a26a- a64f991393aa Master_Info_File: mysql.slave_master_info Wednesday, March 21, 12
  • 56. Look at the new features select * from mysql.slave_master_infoG *************************** 1. row ****** Master_id: 101 Number_of_lines: 22 Master_log_name: mysql-bin.000001 Master_log_pos: 2524 Host: 127.0.0.1 User_name: rsandbox User_password: rsandbox Port: 12630 .... Heartbeat: 1800 Bind: Ignored_server_ids: 0 Uuid: be3c022a-726f-11e1-a26a-a64f991393aa Retry_count: 86400 Wednesday, March 21, 12
  • 57. Look at the new features select * from mysql.slave_relay_log_infoG *************************** 1. row *************** Master_id: 101 Number_of_lines: 6 Relay_log_name: ./mysql_sandbox12631-relay-bin. 000002 Relay_log_pos: 2677 Master_log_name: mysql-bin.000001 Master_log_pos: 2524 Sql_delay: 0 Number_of_workers: 3 Wednesday, March 21, 12
  • 58. Look at the new features select * from mysql.slave_worker_infoG ************** 3. row ********************* Master_id: 101 Worker_id: 2 Relay_log_name: ./mysql_sandbox12631-relay- bin.000003 Relay_log_pos: 1394 Master_log_name: mysql-bin.000001 Master_log_pos: 3651 Checkpoint_relay_log_name: ./mysql_sandbox12631-relay- bin.000003 Checkpoint_relay_log_pos: 1199 Checkpoint_master_log_name: mysql-bin.000001 Checkpoint_master_log_pos: 3456 Checkpoint_seqno: 0 Checkpoint_group_size: 64 Checkpoint_group_bitmap: Wednesday, March 21, 12
  • 61. THANKS Let's talk! This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this license, visit http:// creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. Wednesday, March 21, 12