dbdb
とは?
- https://github.com/yuki777/dbdb
- ローカル環境のDatabase Version Managerです
こんなときにdbdb
でDB管理が楽になります
- ローカルにデータベースが必要な場合
- 複数のデータベース(MySQL, PostgreSQL, MongoDB, Redis)が必要な場合
- また、複数のバージョン(MySQL 5.7, MySQL 8.0)がプロジェクト内で混在している場合
- 開発用データベースとテスト用データベースでポートを分けている場合
Install
git clone https://github.com/yuki777/dbdb.git
cd dbdb
MySQLサーバを作成して起動してみる
# ./mysql/create.sh {name} {mysqlVersion} {port}
# MySQLサーバを、バージョン5.7.31で、ポート3306で作ってみる
./mysql/create.sh mysql5-foo 5.7.31 3306
./mysql/start.sh mysql5-foo 5.7.31 3306 # 起動
# MySQLサーバを、バージョン8.0.23で、ポート13306で作ってみる
./mysql/create.sh mysql8-bar 8.0.23 13306
./mysql/start.sh mysql8-bar 8.0.23 13306 # 起動
接続してみる
./mysql/connect.sh mysql5-foo 5.7.31 3306
./mysql/connect.sh mysql8-bar 8.0.23 13306
# 普通にMySQLが起動しているだけなのでデフォルトのrootアカウントでログインもできます
mysql --user=root --port=3306 --host=127.0.0.1
# host=localhostでもok
mysql --user=root --port=3306 --host=localhost --socket=/tmp/dbdb_mysql_3306.sock
# mysqlクライアントがなければdbdbがインストールしたクライアントを使うこともできます
./mysql/versions/5.7.31/basedir/bin/mysql --user=root --port=3306 --host=127.0.0.1
起動中のデータベース一覧を表示する
./dbdb.sh
mysql.5.7.31.mysql5-foo is running.
/Users/yuki/git/dbdb/mysql/start.sh mysql5-foo 5.7.31 3306 # これを実行すると起動します
/Users/yuki/git/dbdb/mysql/stop.sh mysql5-foo 5.7.31 3306 # これを実行すると終了します
/Users/yuki/git/dbdb/mysql/restart.sh mysql5-foo 5.7.31 3306 # これを実行すると再起動します
/Users/yuki/git/dbdb/mysql/status.sh mysql5-foo 5.7.31 3306 # これを実行するとステータスを表示します
/Users/yuki/git/dbdb/mysql/connect.sh mysql5-foo 5.7.31 3306 # これを実行すると接続します
/Users/yuki/git/dbdb/mysql/delete.sh mysql5-foo 5.7.31 3306 # これを実行すると削除します
mysql.8.0.23.mysql8-bar is running.
/Users/yuki/git/dbdb/mysql/start.sh mysql8-bar 8.0.23 13306
/Users/yuki/git/dbdb/mysql/stop.sh mysql8-bar 8.0.23 13306
/Users/yuki/git/dbdb/mysql/restart.sh mysql8-bar 8.0.23 13306
/Users/yuki/git/dbdb/mysql/status.sh mysql8-bar 8.0.23 13306
/Users/yuki/git/dbdb/mysql/connect.sh mysql8-bar 8.0.23 13306
/Users/yuki/git/dbdb/mysql/delete.sh mysql8-bar 8.0.23 13306
ほか
- データベースサーバが存在しなければ作成して起動したい場合
./create-start.sh mysql5-hoge 5.7.31 23306
- 起動時にデータベースサーバも起動したい場合
# Start mysql5
@reboot /path/to/dbdb/mysql/start.sh mysql5-foo 5.7.31 3306
# Start mysql8 with port 13306
@reboot /path/to/dbdb/mysql/start.sh mysql8-bar 8.0.23 13306
# Try create, then start the server
@reboot /path/to/dbdb/redis/create-start.sh redis6-hoge 6.0.10 6379
- 需要があればもう少し書きます