担当するプロジェクトがたくさんあるとその分ローカル環境のDBには多くのスキーマが存在するようになったりします。
DBにログインしていちいちuse database
するのも面倒くさいし、しばらく触ってなかったものや最近できたばっかでスペルも覚えきれてない場合にshow databases
するのも面倒くさい。
なのでBashでログイン時にスキーマ選択してできるようにしたいなと思って作ってみました。
Bash内容
db_login.sh
#!/bin/bash
MYSQL="mysql -u root -proot"
DATABASES=`$MYSQL -e 'show databases\G' | egrep ^Database | awk '{print $NF}' | egrep -v '(^information_schema$|^mysql$)'`
select DATABASE in $DATABASES
do
$MYSQL $DATABASE
break
done
実行
$ . db_login.sh
1) aaa 7) ddd
2) aaa_test 8) ddd_test
3) bbb 9) test
4) bbb_test
5) ccc
6) ccc_test
#?
実行すると上記のようにスキーマに番号が振られているので使いたいスキーマの番号を入力してEnter
すればOK