MySQLのコマンドライン機能を活用する
翻訳校正:村上雅章・野崎裕子
MySQLに付属しているコマンドラインプログラム「mysql」は、GUIフロントエンドにはない柔軟性を有している。本記事では、こういった柔軟性を引き出すためのヒントをいくつか紹介している。
MySQLを使用する最も一般的な方法は、phpMyAdminやMySQL AdministratorといったGUI版の管理ツールを用いるというものである。こういったツールは良くできており、MySQLデータベースを容易に管理できるようになっているものの、mysqlというコマンドラインプログラムも負けず劣らず良くできており、より柔軟な使い方ができるようにもなっている。
まず、mysqlコマンド内で表示されるプロンプトは、カスタマイズすることができる。こういったカスタマイズによって、デフォルトのmysql>というほとんど意味を持たないプロンプトを変更し、コマンドの使い勝手を向上させることができるのだ。例えば、以下のようにすることで、接続ユーザー名とホスト、現在使用しているデータベースを表示させることが可能になる。
mysql> prompt mysql (\u@\h)::\d >\_ PROMPT set to 'mysql (\u@\h)::\d >\_' mysql (root@localhost)::db1 >
この設定を常に使用したいのであれば、~/.my.cnfファイルを編集し、以下の内容を追加する。
[mysql] prompt=mysql (\u@\h)::\d >\_
mysqlコマンドは、対話的に使えるばかりではなく、シェルスクリプトからMySQLを呼び出すと同時に、スクリプト内に記述したSQL文を解析させるといった使い方もできるようになっている。この実行例を以下に示す。
$ mysql -u me --password=secret wiki -e "select count(page_id) from page" +----------------+ | count(page_id) | +----------------+ | 131 | +----------------+
シェルスクリプト内での結果解析をより行いやすくしたいのであれば、クエリの最後に\Gオプションを付加することで、垂直表示(結果の列それぞれが独立した行として表示される)が行われるようにすることもできる。
$ mysql -u me --password=secret wiki -e "select count(page_id) from page \G" *************************** 1. row *************************** count(page_id): 131
また、使用しているLinuxカーネルがプロセスの隠蔽をサポートしていない場合、コマンドラインでパスワードを指定すると、他のプロセスから丸見えになってしまう。こういった場合、ユーザ名とパスワードを~/.my.cnfファイル中に記述しておくようにした方が良いだろう。
[mysql] user=me password=secret
さらに~/.my.cnfファイルが他のユーザに読まれ(そして上書きされ)ないよう、そのファイル権限を0600(所有者のみ読み書き可)に設定しておくことを忘れないようにしよう。このように設定しておくと、コマンドラインからユーザー名とパスワードを指定する必要がなくなるため、以下のようにして実行することができるようになる。
$ mysql wiki -e "select count(page_id) from page \G"
もちろん、他のユーザーでMySQLに接続したい場合には、適切なユーザー名を-uオプションで指定し、-pオプションを指定しておけば、パスワード入力が要求されるようになる。~/.my.cnfファイル中で定義されている内容はデフォルトでしかないというわけである。
この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ
- 0人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- ホワイトペーパー
- 話題のタグ
グーグル、JavaScriptプログラミングツールをリリース
Windowsの歴史 Windows Server 2008編:同じカーネルを持つ「Vista」とは対照的に早くから支持を得たサーバOS
Windowsの歴史 Windows Server 2003 R2編:安定性と先進性の両立目指す「R2」の先駆けとなったOS
モジラ、「Firefox 3.6」の第1ベータ版をリリース
企業ITシステムの企画、構築、運用のイロハ
【最終警告】パンデミック対策特集
―エン・ジャパン厳選求人☆毎週更新―
大丈夫?あなたの会社のセキュリティ対策
100万円で実現!中小企業の情報漏えい対策
最大32個のセンサーが電力を徹底管理!
進むストレージ環境の見直し