Периодически( а иногда и достаточно часто) возникает необходимость в тестовых, или иных других целях, поднять пару mysql серверов, а можно и с реплицированием, для откатки или отладки того или иного процесса.
Автоматизировать самому данное телодвижение зачастую нет смысла, поскольку это не т��к часто необходимо, как хочется.

На просторах инета был найден такой готовый скрипт. Называется он myslqsandbox — мускульная песочница. Работает с версиями MySQL от 3.23 до 6.0. Распространяется под лицензией GPL.

Смысл прост.
1. Качаем MySQL-Sandbox-3.0.17.tar.gz и разархивируем его и инсталлируем tar -zxvf MySQL-Sandbox-3.0.17.tar.gz
cd MySQL-Sandbox-3.0.17

Если Вы root, то
export SANDBOX_AS_ROOT=1
perl Makefile.PL
make
make test
make install


Если обычный/необычный смертный пользователь, то

export PATH=$HOME/usr/local/bin:$PATH
export PERL5LIB=$HOME/usr/local/lib/perl5/site_perl/5.8.8
perl Makefile.PL PREFIX=$HOME/usr/local
make
make test
make install


При этом помним, что в зависимости от того, какой дистрибутив Linux вы пользуете, PERL5LIB может отличаться.

Теперь у нас есть 2 варианта.

Вариант №1.
Если у нас уже есть проинсталлированный mysql, то мы можем воспользоваться командой и создать локальную песочницу.

make_sandbox_from_installed X.X.XX

где X.X.XX — версия, проинсталлированного mysql.

Вариант №2.
Качаем MySQL-<чего-нибудь-там-подходящее>.tar.gz и с него делаем песочницу.

cd ~
wget 127.0.0.1/mysql-5.5.15-linux2.6-x86_64.tar.gz
make_sandbox mysql-5.5.15-linux2.6-x86_64.tar.gz


Ваша песочница ~/msb_X_X_XX готова к использованию.
#netstat -lna
unix 2 [ ACC ] STREAM LISTENING 68883 /tmp/mysql_sandbox5515.sock
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

Все необходимое (конфиги, команды) находится внутри Вашей домашней директории, и чистится простым удалением.
Можно использовать и более интересные комманды «песочницы». Например комманда

make_replication_sandbox ~/mysql-5.5.15-linux2.6-x86_64.tar.gz
создает новый инстанс из одной master и двух slave баз.

make_replication_sandbox --master_master ~/mysql-5.5.15-linux2.6-x86_64.tar.gz
создает мастер-мастер реплику с двумя серверами.

make_replication_sandbox --circular=4 ~/mysql-5.5.15-linux2.6-x86_64.tar.gz
создание «circular» репликации c 3-мя slave серверами (доступно для mysql начиная с версии 5.1)

После выполнения каждой операции готовые инстансы автоматически запускаются и готовы к работе, сокеты/порты слушаются. При создании песочницы автоматически создаются 2 пользователя
 +-----------------+-------------+-------------------------------+
 |  user name      | password    | privileges                    |
 +-----------------+-------------+-------------------------------+
 |  root@localhost | msandbox    | all on *.* with grant option  |
 |  msandbox@%     | msandbox    | all on *.*                    |
 +-----------------+-------------+-------------------------------+


Данная статья — есть попытка поделиться с общественнностью самим фактом наличия подобного изумительного в своем удобстве инструмента.
PS. В дальнейшем, готов продолжить описание данного инструмента, поскольку данное описание — есть только вводная часть.

Продолжение.