Mysql MariaDBのクライアントはMycli
MySQL/MariaDBのGUIクライアントはいろいろありますが、 mycliがあればGUIクライアントはいらないと思います。1 他のGUIクライアントに比べてやりたいことがすばやくできるし、動作も軽いのでオススメです。
私がMySQL/MariaDBクライアントに求めることは、開発時にMySQL/MariaDBのテーブルがすばやく把握できることです。
MySQL/MariaDBクライアントmycli
これが普段使っているTerminalで 1 のペインにmycliを立ち上げっぱなしにしています。 2 のペインは rails s とかの開発用のペインになっていて 3 のペインでコマンドを叩くと 4 にfzfの候補が現れる感じになっています。 コードはEmacsで書くのでこの裏にEmacsがあります。 1 のペインで hjkl のVimキーバインドを使ってMySQL/MariaDBのテーブル内を移動できるので MySQL/MariaDBのテーブルを眺めながら開発できてとてもよい感じです。 いつでもテーブルが見えているとテーブルを把握することがすばやくできます。 ちょっと開発がこみいってきたら 1 のペインで
C-j z (C-jは私のtmuxのprefix key)
を押すと一時的に 1 のペインが最大化されて以下のようになります。 これでMySQL/MariaDBテーブルの全体を把握しやすくなります。 もう一度 [tmuxのprefix] z を押すともとの分割されたペインに戻るので、手軽で使いやすさも折り紙つきと言えるでしょう。
select * from table名
ペインを最大化しておいて全体を見ていきます。 たとえばこの国テーブルのなかでアジアの国だけ見たい時は
&Asia
と打ち込むとこのテーブル内にあるAsiaの候補だけをフィルタしてVimキーバインドで移動できます。
わざわざSQLを書かなくてもざっくりと把握できて便利です。 view部分の実態はlessなので今見えているテーブルを / で検索可能だからいちいち目を凝らして探さなくてよいです。 SQLについては以下のようにテーブル名やカラム名、SQL構文などを補完してくれます。
カラム名の補完はテーブル名が確定しないとできないので先にテーブル名を書くとよいでしょう。 テーブルを把握したいときは
select * from table名
でほとんどこと足りるはず。
テーブルの一覧は
show tables
このSQLでわかるのでこれ以外は補完に任せて覚える必要がないと思います。
mycli install
pip install --user mycli
–user でインストールするのは ~/.local にインストールして ArchLinuxのpython packageとコンフリクトしないようにするためです。 ~/.local/bin にPATHを通すため以下を .zshrc などに書いておきます
PATH="$HOME/.local/bin:$PATH"
左右の移動をVimキーバインドにするには ホーム直下に .lesskey を置いて lesskey を実行します。
~/.lesskey
l right-scroll
h left-scroll
mycliはlessを内部で利用しているのでlessの左右の移動をVimキーバインドにするととてもよい感じになります。
tmuxのペイン自動分割しmycliを使う
毎回tmuxを立ち上げて分割されたペインを作るのはめんどうなので 立ち上げると自動で分割されたペインで起動するようにします。
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
.tmux.confの一番下に以下を追加して
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# tmux-continuum
set -g @continuum-restore 'on'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
tmuxを再起動して [prefix]I でプラグインをインストール。 再起動すると15分に一回ペインの状態が保存されるようになり、 tmuxのセッションが始まったら前回のペインが自動で立ち上がるようになります。 パソコンを再起動しても動く仕組みなので楽でよいです。 明示的にペインの状態を保存したい場合は
[prefix] C-s
で現在のペインの状態を保存でき、次回の起動時に利用されるようになります。 ちなみにpgcliもあるのでPostgreSQLでも問題ありません。 また、GUIのクライアントについては別の記事を書いたので参考にしてください。
ブログ記事を投稿したらTwitterでお知らせいたします。ブログを気に入っていただけた方はお気軽にフォローしてください。
— Solist Work (@SolistWork) 2018年11月27日
関連記事
最新記事
タグ一覧
-
ansible (2)
application (8)
chrome (1)
command (13)
django (1)
docker (3)
document (1)
emacs (14)
git (2)
google (1)
hugo (1)
kubernetes (1)
linux (19)
makefile (6)
mariadb (2)
melpa (1)
postgresql (2)
python (1)
security (2)
terminal (11)
thinkpad (2)
work (5)
zsh (10)