グラフィカルなツールでMySQLを使いこなす
MySQL GUI Toolsは、MySQLサーバの操作や管理を行うためのグラフィカルなデスクトップアプリケーションを集めたもので、MySQL Query Browser、MySQL Administrator、MySQL Migration Assistant(Windowsでのみ利用可能)という3つのツールで構成される。この記事では、最初の2つを取り上げ、コマンドラインを使わずにMySQLをうまく管理する方法を紹介する。
MySQL GUI Toolsは、Ubuntu、Debian、Fedoraのパッケージ管理システムからインストールできる。パッケージ名は、UbuntuおよびDebianではmysql-admin、Fedoraではmysql-gui-toolsとなっている。また、ビルド済みのバイナリやソースコードの類はすべてプロジェクトのサイトから入手できる。
インストールを終えると、GNOMEの「Applications」→「Programming」メニューに新しい項目が追加される。また、ターミナルから「mysql-query-browser
」および「mysql-administrator
」の各コマンドで起動することも可能だ。MySQL Query BrowserとMySQL Administratorはどちらも、一度に複数のMySQLサーバを操作することができる。
MySQL Query Browser
MySQL Query Browserを起動すると、ダイアログボックスが表示され、接続するMySQLサーバの基本的な情報を尋ねられる。接続が確立されると、作業用の画面が現れる。この画面では、新しいスキーマの作成、スキーマへのテーブルの追加、データの入力およびクエリ検索、クエリ結果のエクスポート、SQLスクリプトの実行などが行える。
このQuery Browserの画面は、3つの領域に分かれている。右側のサイドバーには、いくつかのタブが2段に分かれて並んでおり、スキーマやテーブル、ブックマーク、履歴などを表示したり、SQLの構文を参照したりできる。一番上のQueryウィンドウはSQLクエリを入力する部分、そして画面の大部分を占めているのが新規のクエリ、SQLスクリプト、結果セットの各タブを開いて表示するための領域だ。
新規のMySQLデータベースを作成するには、サイドバーの「Schemata」タブを右クリックし、「Create Schemata」をクリックして、スキーマ名を入力する(「mysqlguidemo」など)。再び右クリックし、メニューから「Refresh Schemata」を選択すると、新しいスキーマが表示される。
以降のコマンドで使用するデフォルトのスキーマを設定するには、「File」→「Select Schema」を選択するか、サイドバー内のスキーマを右クリックして「Set as Default Schema」を選択すればよい。すると、サイドバーにおけるデフォルトスキーマ名の表示が太字になる。
スキーマにテーブルを追加するには、作成した「mysqlguidemo」スキーマを右クリックし、「Create Table」を選択する。すると「Table Editor」が開くので、作成する新規テーブルの詳細情報をそこに入力する。追加したフィールドを確認したら、「Apply Changes」をクリックしてテーブルの作成を実行すればよい。「Confirm Table Action」ダイアログボックスには、プログラムがスキーマに対して実行するSQLクエリが表示される。クエリを実行するには、「Execute」ボタンをクリックする。テーブルが追加されると、以下に示すような階層表示がサイドバーに現れる。
テーブルを変更するには、テーブル名を右クリックしてメニューから「Edit」を選択すればよい。
MySQL Query Browserは、SQLステートメントの実行にも使える。「File」→「New Script」タブを選択して新しいSQLスクリプトを作成するか、「File」→「Open Script」で既存のSQLスクリプトを読み込んだうえで「Execute」ボタンをクリックすると、スクリプトが実行される。また、新たに作成したSQLスクリプトは保存して再利用することもできる。
テーブルからレコードを取得するには、サイドバー内のテーブル名をダブルクリックし、「Resultset」タブで結果セットを作成する。この結果セットには、既存レコードの簡単な操作/検索/編集や、新規レコードの追加を行うためのオプションが備わっている。新規レコードの追加や既存レコードの編集を行うには、「Resultset」ウィンドウの下のほうにある「Start Editing」をクリックすればよい。また、結果セットはCSV、HTML、XML、XLSの各ファイル形式でエクスポートできる。
MySQL Query Browserには、履歴やブックマークの機能もある。履歴の機能はサイドバー上にあり、過去のクエリの表示や再実行が行える。また、「Query」タブに表示されているSQLクエリは、「Query」→「Bookmark」を選択することでブックマーク化できる。ブックマークに追加されたクエリは、サイドバーの「Bookmarks」タブに表示される。
「Table Options」および「Advanced Settings」タブでは、ストレージエンジン、文字セット、行ベースの記録形式、RAID設定など、多数のオプションを設定できる。
「Query」メニューからは、「Start」、「Commit」、「Rollback」の各ステートメントを使ったトランザクションの作成ができる。また、スキーマを右クリックして「New Stored Routine」を選択すれば、スキーマにストアドプロシージャおよびファンクションを追加することも可能だ。
MySQL Administrator
MySQL Query Browserは、スキーマやテーブルの作成、それらへのデータの追加、ストアドプロシージャおよびファンクションの作成に非常に役立つ。ただし、テーブルが大きくなり、ユーザに対するアクセス権の設定が複雑になると、MySQLサーバを簡単に効率よく管理できる手段も必要になってくる。
MySQLサーバの管理は、コマンドラインユーティリティのmysqladmin
でも十分に行える。だが、わかりやすいグラフィカルインタフェースとグラフィカルなパフォーマンス表示機能を備えたMySQL Administratorは、MySQLサーバ管理用のすばらしいツールに仕上がっている。
Query Browserと同様、MySQL Administratorでも、まずは接続するMySQLサーバの情報を入力する必要がある。ログインを済ませると、サーバおよびクライアントのサマリ情報が表示される。なお、ここでいうクライアントとは、MySQL Administratorのことだ。
MySQL Administrator画面左側のサイドバーには、MySQLサーバのさまざまな機能を管理するオプションが並んでいる。サイドバーから機能カテゴリを選んでクリックすると、画面右側のタブ化されたインタフェースに関連する情報が表示される。必要なアクセス権限を持っていれば、情報を変更して結果を保存することもできる。
「Service Control」画面では、クライアントが接続しているMySQLサーバの実行を停止できる。ただし、停止させたサーバを起動し直すには、このツールから離れて手動で操作を行う必要がある。
MySQLサーバインスタンスの設定は、MySQLで設定ファイルと呼ばれている各種オプションファイルでさまざまなオプションやパラメータを用いて行う。「Startup Parameters」画面は、MySQLサーバのさまざまな起動オプションを追加したり変更したりするためのGUIで、ユーザ、データ、一時ディレクトリのほか、MyISAM、InnoDB、レプリケーションの各パラメータ、セキュリティの設定をはじめとするオプションの変更が行える。
「User Administration」画面では、MySQLサーバに対する新規ユーザの追加、既存ユーザの変更または削除ができる。また、こうした基本的な作業だけでなく、スキーマに対する権限の設定やリソースの制限をユーザ別に行うこともできる。
「Health」画面には、使用接続数、トラフィック、実行中のSQLクエリ数など、クライアント接続に関する最新の統計情報が表示される。クエリキャッシュのヒット率は、「Memory Health」タブに表示される。「Status Variables」および「Server Variables」タブには、現在のステータスに関する値、サーバ変数がそれぞれ表示され、設定値を変更できる。「Refresh」をクリックすると、表示内容が新しい値に更新される。
「Backup」および「Restore Backup」画面では、特定のスキーマまたはすべてのスキーマのバックアップおよび復元が行える。また、データベースのレプリケーションを有効にしている場合は、レプリケーションの過程を「Replication Status」画面での監視が可能だ。
ここで紹介したMySQL GUI Toolsの2つのグラフィカルツールは、学生やデータベース指向のアプリケーション開発者の役に立つだろう。MySQL Query BrowserはそうしたユーザにとってMySQLを親しみやすいものにし、MySQL AdministratorはGUIの利用によってデータベース管理者の作業を楽にしてくれる。
Amit Kumar Sahaはコンピュータサイエンスおよびエンジニアリングを学ぶインド出身の学生。Linuxやオープンソースソフトウェアを題材として主に初心者向けの執筆を行い、オープンソースの2つのドキュメント整備プロジェクトにも貢献している。