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)
- ホワイトペーパー
- 企画特集
御社のログ活用しませんか!?
ESBでIT投資の無駄を劇的に解消する
◆エン・ジャパン厳選求人☆毎週更新◆
今注目の「サジェスト検索」−デモ掲載中
そのストレージで仮想化に対応できますか?
集積度も性能も、業界最高水準のブレードPC
SOA、BPM、SaaS −今、企業に必要なこと
インターネット上の悪意を未然に防ぐには?
ロリポップ!がリニューアル
セキュリティ&ユーザ事例【SIer Club】
中小企業のセキュリティリスクとは?
ストレージメディア特設サイト開設
【徹底対談】運用管理ツールの賢い使い方
パンデミック対策特集
仮想環境を実現するソリューション特集
- サービス・ドリヴン・データセンター
- ■ストレージ容量50%削減保証■
- エンタープライズにおけるSUSEの強み
- サーバー監視・運用のコストを削減するには
- 話題のタグ
Windows 7はLinuxへの切替が簡単:注目の仮想ディスクフォーマット「VHD」
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――