Периодически( а иногда и достаточно часто) возникает необходимость в тестовых, или иных других целях, поднять пару mysql серверов, а можно и с реплицированием, для откатки или отладки того или иного процесса.
Автоматизировать самому данное телодвижение зачастую нет смысла, поскольку это не так часто необходимо, как хочется.
На просторах инета был найден такой готовый скрипт. Называется он myslqsandbox — мускульная песочница. Работает с версиями MySQL от 3.23 до 6.0. Распространяется под лицензией GPL.
Смысл прост.
1. Качаем MySQL-Sandbox-3.0.17.tar.gz и разархивируем его и инсталлируем
Если Вы root, то
Если обычный/необычный смертный пользователь, то
При этом помним, что в зависимости от того, какой дистрибутив Linux вы пользуете, PERL5LIB может отличаться.
Теперь у нас есть 2 варианта.
Вариант №1.
Если у нас уже есть проинсталлированный mysql, то мы можем воспользоваться командой и создать локальную песочницу.
где X.X.XX — версия, проинсталлированного mysql.
Вариант №2.
Качаем MySQL-<чего-нибудь-там-подходящее>.tar.gz и с него делаем песочницу.
Ваша песочница
Все необходимое (конфиги, команды) находится внутри Вашей домашней директории, и чистится простым удалением.
Можно использовать и более интересные комманды «песочницы». Например комманда
создает новый инстанс из одной master и двух slave баз.
создает мастер-мастер реплику с двумя серверами.
создание «circular» репликации c 3-мя slave серверами (доступно для mysql начиная с версии 5.1)
После выполнения каждой операции готовые инстансы автоматически запускаются и готовы к работе, сокеты/порты слушаются. При создании песочницы автоматически создаются 2 пользователя
Данная статья — есть попытка поделиться с общественнностью самим фактом наличия подобного изумительного в своем удобстве инструмента.
PS. В дальнейшем, готов продолжить описание данного инструмента, поскольку данное описание — есть только вводная часть.
Продолжение.
Автоматизировать самому данное телодвижение зачастую нет смысла, поскольку это не так часто необходимо, как хочется.
На просторах инета был найден такой готовый скрипт. Называется он 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. В дальнейшем, готов продолжить описание данного инструмента, поскольку данное описание — есть только вводная часть.
Продолжение.
