MySQL Workbench 6.0概略。まずはインストールしてDBにつないでみよう

MySQL Workbenchとは?
MySQLサーバーへの接続に、みなさん何を使っていますか?
本体付属でCUIのmysqlコマンドラインツールも超シンプルでいいですが(私も多用しています)、多くのサーバーを登録してそのうちの一つにワンタッチで接続、とか、多くのクエリから選択して実行、そもそもそのクエリ自体の開発などという用途の場合、コマンドラインのツールでは少々力不足なのは否めません。
今回紹介させていただくMySQL Workbench 6.0(原稿執筆時点の最新版は6.0.7 GA)は主な機能として、いわば次の「三つの矢」を持ち、MySQLでの開発・管理に非常にパワフルな力を発揮します。
- データベースのデザインとモデリング
- SQL(クエリ)開発
- データベース管理
おおまかな歴史は次の図のようになりますが、まずはこの三つの矢についての歴史をひもとくことにより、Workbenchの概略を説明することにします。
第一の矢:それは一つのモデリングツールからはじまった
今から約10年前に一人の開発者がMySQL AB(当時)に加わることになりました。彼の名はMichael G. Zinner。DBDesigner4という、オープンソースのビジュアルなデータベース設計・モデリングツールの作者でした。
ER図を用いたモデリングの重要性はよくいわれますが、当時、実用に耐えるツールは高価なものが多く、また無償もしくはそれに近いものは実用に耐えないものが多い中、DBDesigner4は使い勝手のよいGUIとオープンソース(GPLv2)での公開ということで人気を博していました。
WindowsとLinuxに対応していたそのツール(作成環境がDelphi/Kylix(!)だった)は開発が続けられWorkbenchの最初のバージョンとして5.0にてWindowsに対応、次のバージョンである5.1にてクロスプラットフォーム(Linux, Mac OS)対応となり、その後のWorkbenchのベースとなりました。
このように第一の矢「モデリングツール」は「使いやすいGUI」と「クロスプラットフォーム」を兼ね備えた強力な矢でした。
第二・第三の矢:クエリ開発とDB管理(そして+α)を担ったMySQL GUI ツールズ
MySQLは以前MySQL GUI Tools BundleというGUIツール群を提供しており、それらは以下のツールから構成されていました。
- MySQL Query Browser: SQL(クエリ)の開発
- MySQL Administrator: データベースの管理
- MySQL Migration Toolkit: 他データベースからMySQLの移行(動作プラットフォームはWindowsのみ)
手打ちのクエリではSQLのシンタックスやデータベースオブジェクト名(DB名、表名、ビュー名など)を間違えるとエラーになります。また管理に利用するクエリは再利用する必要がありますが、CUIのツールでは再利用のために利用できる機能が貧弱です。
Query Browserはデータベースオブジェクトのブラウジングと、クエリの入力支援機能を備え、クエリ作成・更新の効率化を図る、第二の矢となるものです。
MySQL Administratorはコマンドラインツールのmysqladmin的な管理(MySQLサーバーの起動、停止、サーバーの状態の確認)や、バックアップ・リストアのインターフェースとなるツールです。サーバーの管理を手早く行うのに便利な第三の矢となるものです。
(プラスアルファ部分となるMigration Toolkitは他のRDBMSからMySQLへの移行にWindows版のみが用意され、その後Pythonスクリプトによるプラグインとして再実装されることになります)
それぞれのツールは「Window」メニューから別のツールにアクセスできましたが、全体を切り替える形になり使い勝手がよいものではありませんでした。
三つの矢が束ねられて:MySQL Workbench 5.2
2011年に三つの矢が束ねられたMySQL Workbench 5.2がGAを迎えました(MySQL Workbench 5.2.32)。
三つの機能が一つにまとめられ(開発チームのリソースもこの一つのGUIツールの開発・保守にまとめられ)、バージョンアップ毎にパフォーマンス向上、バグ修正が施されてきました。
MySQLの運用・管理に便利なPythonスクリプト群であるMySQL Utilitiesの拡充、Migration Plugin(MySQL Migration ToolkitのPythonによる再実装: MySQL Workbench 5.2.41より添付)の開発・拡充が図られてきました。
しかし以下の起動画面からもわかるように、一つのツールに並列して三つのツールのトップがならべられています。これまで見たようなMySQL Workbenchの成り立ちを知るものにとってはわかりやすく、取っ付きやすいのですが、はじめて利用する人にとっては必ずしもわかりやすいものではありませんでした。
洗練されたMySQL Workbench 6.0の登場
MySQL Workbench 6.0はMySQL 5.x系の集大成としてGAリリースされました(MySQLの祭典であるMySQL Connect 2013の前)。
多くの機能追加・改善とパフォーマンス向上が施され、よりわかりやすいインターフェースを持つとともに、MySQL UtilitiesとしてWorkbenchに内蔵されていた便利なツール群も内容が拡充され、独立したツール群として別途GA(MySQL Utilities 1.3.4 GA)を迎え、提供されるようになりました。
また有償版がSE(Standard Edition), EE(Enterprise Edition)の2形態となり、EEでは新たにMySQLサーバーのEEの機能にあわせる形で拡充されています。
有償版特有の機能については本連載の最後の回にまとめて説明させていただきますので、その回までは無償・有償すべての版にて利用できる内容をご紹介していきます。
それでは、実際にインストールして動かしてみましょう。
まずはインストール
実際のトライにはCE(Community Edition)を利用すると便利です。以下のURLからダウンロードが可能です。
> Download MySQL Workbench
MySQL Workbench 6.0はマルチプラットフォームに対応していますが、グラフィックを多用するGUIツールです。
グラフィックを効率よく扱うためにWindows/Linux/Mac OSの比較的新しいバージョン以降のサポートとなっています。詳細は次のページをご参照ください。
> Supported Platforms: MySQL Workbench
ここでは具体的な例としてMicrosoft Windows 7へのインストールを行います。
インストールにはMSI版と、ZIP版がありますが、簡単にインストールできるMSI版を利用します(MySQL Installerの利用も可能ですが、MySQL Installerは多くのMySQLプロダクトを一括してインストールするのに向いています)。
Windows版MySQL Workbenchの動作条件としてMicrosoft社の提供する以下の2つの関連モジュールが必要になります。
- (1) Microsoft .NET Framework 4 Client Profile
- (2) Microsoft Visual C++ 2010 Redistributable Package (x86)
これらはすでにインストールされていればそれが利用されます。インストールされていない場合は「MySQL Workbench request~」のメッセージとともに、次のような画面がでて関連モジュールのダウンロード(そしてインストール)が促されます。
赤丸をつけた「Download Prerequisites」をクリックすると関連モジュールのダウンロードサイト(Microsoft英語サイト)にジャンプします。
前提となる関連モジュールのインストールが行われていない場合、先ほどのウィンドウがいつまでも出力されてインストールを先に進めることができません。関連モジュールをインストールの上で「Finish」ボタンを押し、再度インストーラを実行してください。
インストールについてはデフォルト値のままで、基本「Next」ボタンを押していけば終了します。
なお、インストールで不明な点があったり、Windows以外のインストールについては、次のマニュアルをご参照ください。
> http://dev.mysql.com/doc/workbench/en/wb-starting.html
データベース接続
MySQL Workbench 6.0を起動すると以下のような画面になります。
まずは「MySQL Connections」の+アイコン(もしくはメニューのDatabase-Manage ConnectionのNewボタン)を利用して新規の接続を作成します。
通常のMySQLサーバーへの接続と同様に、サーバーへの接続には以下を指定します。
- 接続先のホスト情報(ホスト名、IPアドレス、もしくはlocalhost)
- 接続に利用するポート番号
- 接続に利用するユーザ名とパスワード
Test Connection(テスト接続)を押してOKならば、名称をつけて保存します。以下の例ではローカルマシン(127.0.0.1)に対してポート3306番を指定し、rootユーザを使った接続にLocal5614の名称をつけて保存しています。デフォルトスキーマ(以下の例ではtest)を設定すると、接続時に設定したデータベースをデフォルトデータベースとして扱います。
サーバー状態の確認
最後に接続を使って接続先のデータベースの状態を確認してみましょう。
MySQL Workbench起動画面から先ほど作成した接続「Local5614」をクリックすると、設定した内容に従ってMySQLサーバーに接続し、新しいタブ(Local5614)がオープンします。
左ペインの「Navigator」からMANAGEMENT-Server Statusをクリックすると以下のようにサーバーの状態を確認することができます。
接続先がローカルか、もしくはリモートかによって表示できる情報に差異があります。例えばCPU利用率はローカル接続の場合しか更新されません。これはMySQL Workbench自体はMySQLサーバーから見ると単なるクライアントであり、CPU利用率をリモートから収集するすべがないためです。
次回以降、この接続を利用してMySQL Workbenchの各種機能を確認していくことになります。まずは左ペインの「Navigator」からMANAGEMENTやINSTANCEの各種項目をブラウジングしてみてください。なおリモート接続の場合はINSTANCEの各項目はグレイアウトされて動作しません。これはさきほどのCPU利用率をリモートから確認できないのと同じ理由です。
【参考文献】
Michael McLaughlin『MySQL Workbench: Data Modeling & Development』Oracle Press(発行年:2013)
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- DBドキュメント出力とMEBのためのGUI、次期版6.1の新機能を紹介
- MySQL Workbenchを使ってデータモデリングを学んでみよう
- Pythonで作られた便利なコマンドラインツール MySQL Utilities
- MySQL Connect 2013でも発表されたMySQLの最新リリースと、関連ツールの基礎知識
- MySQL Enterprise Monitor 3.0:MySQLの運用監視ツール
- IIS 7の新しい運用形態
- オラクル、データベース性能を向上させた最新の「MySQL 5.7 Development Milestone Release」を発表
- オラクル、「MySQL 5.7 Development Milestone Release(DMR)」をリリース
- WebMatrixを使ってWordPressを動かそう
- スローログの集計に便利な「pt-query-digest」を使ってみよう