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
パラメーター名そのままだがこの設定を行うことで下記のコマンドを省略できます
$ mysql -h localhost -P 3306 -u {ログインID} -p db_name
$ 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が便利になると嬉しい限りです。
こんな便利なのもあるんだぜ!って情報もお待ちしております。