DBドキュメント出力とMEBのためのGUI、次期版6.1の新機能を紹介

2014年4月4日(金)
木村 明治(きむらめいじ)

MEBのためのGUI

MySQL WorkbenchはMySQL Enterprise Editionで利用できるMEB(MySQL Enterprise Backup)を利用するためのGUIを備えています。

MEB(MySQL Enterprise Backup)とは?

MEBは大規模なInnoDB型テーブルにて構成されたデータベースをホットバックアップするためのツールで、以前はInnoDB Hot Backupの名称でInnoDB Oy社から提供されていました(Version 3.0まで)。現在はその後継としてMySQL Enterprise Backupの名称にてVersion 3.5から開発がはじまり、原稿執筆時点(2014-03)の最新バージョンは3.10となります。

基本的にMySQLサーバを起動したまま、InnoDB型のテーブルと関連ファイル(InnoDBログファイル、共有スペースファイル)をファイルコピー相当でバックアップするため高速に動作します。ファイルコピーではバックアップ中のファイル群の整合性はとれませんが、MEBではバックアップ時に取得したInnoDBログファイルを適用する(apply-log)することにより、InnoDB型のテーブルの整合性をとります。おおまかな動作の考え方は次のブログエントリのInnoDB Hot Backupの部分をご参照ください。

> MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup

デフォルトの動作ではMEBは終了間際にMySQLサーバに対してFTWRL(Flush Tables With Read Lock)を発行し、InnoDB型以外のテーブルとの整合性を取得した形でバックアップ取得を終了します。そのためMySQLサーバにてバイナリログを取得していた場合、そのバックアップを元にしてバイナリログを用いたロールフォワードリカバリを行うことも可能です(MySQL Workbench GUIの「Backup Recovery」からはリストアのみの実行です)。

Workbench経由のMEBバックアップ(準備)

MEBのバックアップには以下の設定が必要です。

  • MEB実行形式ファイルのフルパス
  • バックアップ先に利用するディレクトリ
  • バックアップの際に利用するアカウント

アカウントは'mysqlbackup'@localhostで自動的に作成されるので、それ以外の項目を設定する必要があります。デフォルトにて設定すると、それぞれのパスは以下のようになります。

図3:MEBバックアップ準備画面(クリックで拡大)

バックアップは設定したバックアップ先(デフォルトではC:\MySQLBackupHome(Windows))に取得されます。ディスク故障などに備える場合はMySQLサーバがデータやログの入出力に使っているディスク以外を指定するようにします。

Workbench経由のMEBバックアップ(設定・実行)

画面を進めるとバックアップをスケジュールする画面が表示されます。ここで「New Job」ボタンを押すと、バックアップ用の新たなジョブを設定する画面に遷移しますので、フルバックアップ・インクリメンタルバックアップにする、バックアップの頻度、などを設定します。図4. はテスト用に毎時00分にフルバックアップを取得するジョブを作成し、その1回目が成功したことを示しています。

図4:MEBバックアップ、ジョブ一覧・実行結果画面(クリックで拡大)

「Execute Now」ボタンを押すと、そのタイミングでのバックアップ取得も可能です。

バックアップはバックアップ取得先のディレクトリ以下に次の形式で取得されます。

.\backup\日付_時刻   ← バックアップデータ本体が入ったディレクトリ(MEBのオプション--backup-dir=の指定と同じ)

.\backup\日付_時刻.log ← バックアップ時のMEB実行ログ

例えば2014年3月25日の午前4時10分に取得したバックアップの場合、以下のディレクトリとログが生成されることになります。

  • .\backup\2014-03-25_04-10-00
  • .\backup\2014-03-25_04-10-00.log

Workbench経由のMEB操作注意点

  • MEBはローカルのファイルしか操作できないためMySQLサーバを実行しているサーバにて動作させる必要があります。またWindowsプラットフォーム上ではローカルのMySQLインスタンスに対してのMEB実行しか管理できないためWorkbenchも同様にローカルで実行する必要があります。
  • スケジュールしたバックアップはWindowsの場合タスクスケジューラに登録され実行されます。そのためWorkbenchが起動していなくてもバックアップが取得されます。
  • リストア作業(Backup Recovery)はMySQLサーバが起動している状態から行いますので、実運用というよりは開発作業向け(例: 状態をバックアップ時点に戻したい)の機能です。
著者
木村 明治(きむらめいじ)
日本オラクル株式会社
日本オラクル株式会社MySQLサポートエンジニア。
MySQL以外にもFirebirdをはじめとするオープンソースデータベースの世界で活動している。
著書に「Firebird徹底入門」(共著)、「プロになるためのデータベース技術入門〜MySQL For Windows〜」

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています