MySQL песочница

Периодически( а иногда и достаточно часто) возникает необходимость в тестовых, или иных других целях, поднять пару 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. В дальнейшем, готов продолжить описание данного инструмента, поскольку данное описание — есть только вводная часть.

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

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 11

    0
    Скрипт поддерживает только оригинальный mysql? Поймет ли mariadb, к примеру?
      +2
      Поддерживает только оригинальный mysql. Но при умении пользоваться надфилем можно сделать
      ln -sv mariadb-5.х.yy-Linux-x86_64 mysql-5.x.yy-Linux-x86_64
      make_sandbox /home/%username%/Downloads/mysql-5.x.yy-Linux-x86_64.tar.gz --sandbox_directory=maria_5.x.yy

      --sandbox_directory — указывать желательно, чтобы потом, хотя-бы визуально, помнить о том, что это не стандартный мускуль.
      0
      В следующий раз в ворде хоть текст проверьте, а то у вас куча букв пропущенных и знаков препинания.
        +1
        Учту.
        +14
        MySQL песочница из песочницы
          –3
          чё?
          0
          Для тех, кому надо нужен что то аналогичное, но для SQLite.
          В первую очередь iOS и Android программистам.
          Качайте SQLite Database Browser 2.0 b1, загружайте в этот браузер «образ» вашей базы и отлаживайте ваши SQL скрипты. Из недостатков — зависания в случае неправильного sql синтаксиса.
            –1
            Я надеюсь, что только приложение, а не система. Но лутше научить ее, в таких случаях, отвечать запросом на запрос.

              0
              да, это просто stand-alone приложение
            0
            Спасибо за полезную статью. Зря! польностью не описали весь инструмент, надеюсь это не последнее, что вы постите на хабре :)
              0
              Очень и очень полезная статья, автору — огромное спасибо!

              Я долгие месяцы не заходил на Хабр, но тут специально зашел и поднял вам карму — эта статья сэкономила мне массу времени и сил. Жаль только, что нашел её не сразу :)

              Only users with full accounts can post comments. Log in, please.