LoginSignup
12
17

More than 5 years have passed since last update.

MySQLクライアントを快適に使う設定

Last updated at Posted at 2017-04-20

MySQLを快適に使うために設定していることをつらつらと書いていきます。
皆さんの素敵なMySQLライフと自分の備忘録的な意味も込めて。

~/.my.cnfの設定をさらしてみる

$ cat ~/.my.cnf
[client]
host=localhost
port=3306
user={ログインID}
password={ログインPWD}
prompt=mysql [\\U \\d] > 
pager=grcat ~/.grcat | less -RSFXin

[mysqldump]
user={ログインID}
password={ログインPWD}

各パラメーターの説明

host port user password

パラメーター名そのままだがこの設定を行うことで下記のコマンドを省略できます

my.cnf未設定
$ mysql -h localhost -P 3306 -u {ログインID} -p db_name
my.cnf設定
$ mysql db_name

RDSの長いホスト名とかパスワードを覚えておく必要がないのでサクっと接続できるようになります。
違うファイル名で別の接続情報を用意しておき読み込ませることもできます。 mysql --defaults-file=~/.db02.my.cnf
~/.my.cnf はデフォルトで読み込まれるファイルです。

prompt

接続後に表示されるプロンプトを変更できます。
デフォルトで mysql> と表示されるこやつです。
\U はログインユーザー、 \d でuseしているDB名を表示できます。
prompt=mysql [\\U \\d] > だと mysql [root@localhost db_name] > のように表示される。

日時やコマンドの実行回数なども表示できたりする。詳細は下記。
https://dev.mysql.com/doc/refman/5.6/en/mysql-commands.html

ちなみに接続後に prompt mysql [\U \d] > と入力しても設定される。
mysql> に戻したい場合は prompt とだけ入力するとデフォルトに戻る。

pager

これはselectしたときの表示方法を設定してる。
取得件数が多くなるとコンソールのバッファ行数を超えちゃって最初のほうがみれない!というときに便利です。

grcat ~/.grcat の部分は検索結果に色付けする設定をしています(後述)
less -RSFXin の部分で lessコマンドでselect結果を表示します。
オプションの詳細は割愛。下記みてね。
https://dev.mysql.com/doc/refman/5.6/en/mysql-commands.html

ちなみに接続後に pager less -RSFXin と入力して設定もできる。
ファイルに出力する場合は pager cat > /tmp/result.txt と入力。便利です。
元の標準出力の表示に戻す場合は nopager と入力すればOK。

grcat

grcのインストール

centos使っているのですがyumで見つからなかったのでソースコードを取得してインストールしました。

wget https://repository.hybris.com/repo/pool/main/g/grc/grc_1.5.tar.gz
tar xzvf grc_1.5.tar.gz
cd grc_1.5
sudo ./install.sh

.grcatの作成

https://github.com/nitso/colour-mysql-console をそのまま利用させていただきました。

そのほか便利なコマンド

コマンド 説明
\e エディタでsql作成できる
\G 取得結果を縦表示。
\c sql入力中で間違えたときになかったことにできる。
\q sql入力中でも終了できる。ctrl + cと同じ
\s 現在のサーバー情報表示
\! {command} mysqlコンソールでlinuxコマンドたたける
\. {file} 外部sqlファイル読み込める

参考にさせていただいページ

https://dev.mysql.com/doc/refman/5.7/en/mysql-commands.html
https://github.com/nitso/colour-mysql-console
http://sawara.me/mysql/2324/

いかがだったでしょうか。
日々仕事で使っていますがすげー便利だけど知らなかった!っていうものがいっぱいあります。
見ていただいた方のMySQLが便利になると嬉しい限りです。
こんな便利なのもあるんだぜ!って情報もお待ちしております。

12
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
17