dbdeployerとは
ざっくりいうとMySQL Sandboxみたいなやつです。
気軽にDBサーバーを立てることが出来ます。
ちょうどschema管理周りの実験に使おうと
MySQL Sandboxのセッティングをしようとした時に発見しました。
ちなみにMySQL SandboxはPerl製のツールだったんですが、
dbdeployerはGoで出来てるみたいです。
dbdeployerでのセットアップ
今回は自分のローカルMacにインストールするので、
instalationの内容を少し書き換えて
VERSION=1.45.0
OS=osx
origin=https://github.com/datacharmer/dbdeployer/releases/download/v$VERSION
wget $origin/dbdeployer-$VERSION.$OS.tar.gz
tar -xzf dbdeployer-$VERSION.$OS.tar.gz
chmod +x dbdeployer-$VERSION.$OS
sudo mv dbdeployer-$VERSION.$OS /usr/local/bin/dbdeployer
これでコマンドは多々けるようになった。
次にtarball (tarで固めたファイルを指すらしい)を落としてくる作業が必要
まずはdry-run
$ dbdeployer downloads get-by-version 5.7 --newest --dry-run
Would download:
Name: mysql-5.7.29-macos10.14-x86_64.tar.gz
Short version: 5.7
Version: 5.7.29
Flavor: mysql
OS: Darwin
URL: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-macos10.14-x86_64.tar.gz
Checksum: SHA512:bc275458b4185d0290b6faa7f50e3cb250ec4eef57607b51d41c72ef800eb9c1cd4eb49adc0a924a7c64acc742930f5b3d2838b0b899770a6645a4eab7a10f50
Size: 361 MB
Notes: added with version 1.44.0
で、実行
$ dbdeployer downloads get-by-version 5.7 --newest
Downloading mysql-5.7.29-macos10.14-x86_64.tar.gz
.........105 MB.........210 MB.........315 MB.... 361 MB
File /Users/hiraoka.yosuke/mysql-5.7.29-macos10.14-x86_64.tar.gz downloaded
Checksum matches
コマンド実行と同じディレクトリにファイルが設置される。
これでtarballは手に入れられた。
次にtarballをunpackする必要があるらしい。
ちなみにopt/mysqlという場所にunpackされたものが置かれるのでディレクトリは作っておく。
$ mkdir -p $HOME/opt/mysql
$ dbdeployer unpack mysql-5.7.29-macos10.14-x86_64.tar.gz
Unpacking tarball mysql-5.7.29-macos10.14-x86_64.tar.gz to $HOME/opt/mysql/5.7.29
.........100.........200.........300.......376
Renaming directory /Users/hiraoka.yosuke/opt/mysql/mysql-5.7.29-macos10.14-x86_64 to /Users/hiraoka.yosuke/opt/mysql/5.7.29
これで準備は出来たのでdeployしてみる
$ dbdeployer deploy single 5.7.29
Creating directory /Users/hiraoka.yosuke/sandboxes
Database installed in $HOME/sandboxes/msb_5_7_29
run 'dbdeployer usage single' for basic instructions'
... sandbox server started
確認してみると
$ dbdeployer sandboxes
msb_5_7_29 : single 5.7.29 [5729 ]
ということで行けたっぽい。
ちなみにDBサーバーの中に入ろうと思うと、
sandboxesディレクトリの中からuseというスクリプトを叩けばいける。
cd ~/sandboxes/msb_5_7_29
./use
でいけます。
構築自体は出来たっぽいので一旦はここまで。
databaseを作ったりtableを作ったりいじって遊ぶのは次回ということで!
参考
github
次世代MySQL Sandbox! dbdeployerの使用方法について
【備忘録】dbdeployerの設定