Skip to content

# Cheating mysqlsandbox to install MariaDB 10.0

MySQL Hack tools March 17, 2013

mysqlsandbox is version-aware. The new 5.6 version, for example, requires special care because of the system InnoDB tables or otherwise modified system tables.

At this moment, it will refuse to install MariaDB 10.0 (alpha):

>     bash$ make_sandbox /tmp/mariadb-10.0.1-linux-x86_64.tar.gz
>     unpacking /tmp/mariadb-10.0.1-linux-x86_64.tar.gz
>     unsupported version 10.0

This is perfectly legitimate, and I have no quarrel with this fact. However, I did want to setup MariaDB 10.0 as a sandbox.

As it turns out mysqlsandbox relies on MySQL package naming conventions to detect the version: the fact that a tgz file distribution is named mariadb-10.0.1-linux-x86_64.tar.gz and extracts onto mariadb-10.0.1-linux-x86_64, tells mysqlsandbox that this is version 10.0.1. Easy enough to cheat, then: pick a version that mysqlsandbox will work with, and which is compatible sandbox-wise with your own, and do the renames. For that matter, I picked 5.5, and, actually, made it 5.5.100:

>     bash:/tmp$ tar xzf mariadb-10.0.1-linux-x86_64.tar.gz
>     bash:/tmp$ mv mariadb-10.0.1-linux-x86_64 mariadb-5.5.100-linux-x86_64
>     bash:/tmp$ tar czf /tmp/mariadb-5.5.100-linux-x86_64.tar.gz ./mariadb-5.5.100-linux-x86_64
>     bash:/tmp$ make_sandbox mariadb-5.5.100-linux-x86_64.tar.gz

>     unpacking /tmp/mariadb-5.5.100-linux-x86_64.tar.gz
>     Executing low_level_make_sandbox --basedir=/tmp/5.5.100 \
>             --sandbox_directory=msb_5_5_100 \
>             --install_version=5.5 \
>             --sandbox_port=55100 \
>             --no_ver_after_name \
>             --my_clause=log-error=msandbox.err
>     >>/tmp
>         The MySQL Sandbox,  version 3.0.29
>         (C) 2006-2013 Giuseppe Maxia
>     installing with the following parameters:
>     upper_directory                = /home/shlomi/sandboxes
>     sandbox_directory              = msb_5_5_100
>     sandbox_port                   = 55100
>     check_port                     =
>     no_check_port                  =
>     datadir_from                   = script
>     install_version                = 5.5
>     basedir                        = /tmp/5.5.100
>     tmpdir                         =
>     my_file                        =
>     operating_system_user          = shlomi
>     db_user                        = msandbox
>     remote_access                  = 127.%
>     ro_user                        = msandbox_ro
>     rw_user                        = msandbox_rw
>     repl_user                      = rsandbox
>     db_password                    = msandbox
>     repl_password                  = rsandbox
>     my_clause                      = log-error=msandbox.err
>     master                         =
>     slaveof                        =
>     high_performance               =
>     prompt_prefix                  = mysql
>     prompt_body                    =  [\h] {\u} (\d) >
>     force                          =
>     no_ver_after_name              = 1
>     verbose                        =
>     load_grants                    = 1
>     no_load_grants                 =
>     no_run                         =
>     no_show                        =
>     do you agree? ([Y],n)

It worked well for me; perhaps I’m missing on something, so watch your own setup.

- Twitter
- LinkedIn
- WhatsApp
- Email
- Facebook
- Print

###
3
Leave a Reply

3 Comment threads
0 Thread replies
0 Followers
Most reacted comment
Hottest comment thread
3 Comment authors
Recent comment authors

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Subscribe
Notify of
Guest
vishnu

cool hack 🙂

Guest
Daniël van Eeden

I’ve extracted MariaDB 10 to ~/opt/mysql/5.5.100-mariadb and then used “make_sandbox 5.5.100-mariadb” to create the sandbox. The suffix makes it easier to see the mysql flavour.

Guest
Giuseppe Maxia

MySQL Sandbox 3.0.34 includes support for MariaDB 10.0.

wpDiscuz
Send to Email Address Your Name Your Email Address Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.