Ubuntu has a package mysql-sandbox
that lets you install multiple MySQL versions into your user home:
- Install
mysql-sandbox
sudo apt install mysql-sandbox
-
Download the version of MySQL you want to use from mysql.com:
https://dev.mysql.com/downloads/file/?id=480427 Show archive.org snapshot
Make sure to choose "Generic Linux" instead of "Ubuntu" so you get a .tar.gz instead of .deb -
cd
into the directory the mysql binaries will be extracted to
mkdir -p ~/bin/sandbox_dist
cd ~/bin/sandbox_dist
- Build the sandbox
make_sandbox mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
Note that make_sandbox will extract the files into the current folder and expects them to live there forever. That's why we switched to a persistent place like bin/sandbox_dist
before.
On older distributions, make_sandbox
might be mysql_sandbox
instead.
This will install this version into /~/sandboxes/msb_5_7.21
. The folder includes a command to start the MySQL daemon for that sandbox. It listens to a non-standard port, so it can run in parallel with your regular MySQL installation.
Note the console output when you install a sandbox. It will show the non-standard port and the username (default root
) and password (default msandbox
). When working on a Rails project, you need to paste all of that into your config/database.yml
.
Connecting to a sandbox
mysql --user=root --password=msandbox --host=127.0.0.1 --port=1234
Replace 1234
with the port for the Sandbox.
Further reading
There is another card that describes how to achieve the same using docker.