The fastest MySQL Sandbox setup ever!
MySQL-Sandbox 3.1.10 introduces a new utility, different from anything I have put before in the MySQL Sandbox toolkit.
make_sandbox_from_url
downloads a tiny MySQL tarball from a repository and install it straight away.
As of today, the following packages are available
The sizes of the tarballs mentioned in the table above are much smaller than the original packages. The binaries have been stripped of debug info, compressed whenever possible, and purged of all binaries that are not needed for sandbox operations. This means that:
- You can download the needed tarball very fast;
- The storage needed for the binaries is reduced immensely.
Here is an example of the script in action. We download and install mySQL 5.0.96 in one go:
$ make_sandbox_from_url 5.0 -- --no_show wget -O 5.0.96.tar.gz 'http://github.com/datacharmer/mysql-docker-minimal/blob/master/dbdata/5.0.96.tar.gz?raw=true' URL transformed to HTTPS due to an HSTS policy --2016-07-10 17:59:33-- https://github.com/datacharmer/mysql-docker-minimal/blob/master/dbdata/5.0.96.tar.gz?raw=true Resolving github.com (github.com)... 192.30.253.112 Connecting to github.com (github.com)|192.30.253.112|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://github.com/datacharmer/mysql-docker-minimal/raw/master/dbdata/5.0.96.tar.gz [following] --2016-07-10 17:59:33-- https://github.com/datacharmer/mysql-docker-minimal/raw/master/dbdata/5.0.96.tar.gz Reusing existing connection to github.com:443. HTTP request sent, awaiting response... 302 Found Location: https://raw.githubusercontent.com/datacharmer/mysql-docker-minimal/master/dbdata/5.0.96.tar.gz [following] --2016-07-10 17:59:34-- https://raw.githubusercontent.com/datacharmer/mysql-docker-minimal/master/dbdata/5.0.96.tar.gz Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.12.133 Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.12.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 20052235 (19M) [application/octet-stream] Saving to: ‘5.0.96.tar.gz’ 5.0.96.tar.gz 100%[=================================================================================>] 19.12M 15.2MB/s in 1.3s 2016-07-10 17:59:37 (15.2 MB/s) - ‘5.0.96.tar.gz’ saved [20052235/20052235] The MySQL Sandbox, version 3.1.09 (C) 2006-2016 Giuseppe Maxia # Starting server . sandbox server started # Loading grants Your sandbox server was installed in $HOME/sandboxes/msb_5_0_96
If you call the same command twice, you will get a message saying that you can now use make_sandbox x.x.xx
to install your sandbox.
The script is doing what I should probably have done from the beginning by default: expands the tarball in $SANDBOX_BINARY (by default $HOME/opt/mysql) from where it is easy to reuse with minimum typing.
As of today, the binaries are Linux ONLY. I made this repository to use it with Docker (I will write about it soon) and that means using Linux. This is still part of an experiment that so far is working well. The project can either evolve in smarter directions or merge with clever containers. It's early to say. For now, enjoy the fastest set-up that MySQL Sandbox can offer!