DBドキュメント出力とMEBのためのGUI、次期版6.1の新機能を紹介
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で自動的に作成されるので、それ以外の項目を設定する必要があります。デフォルトにて設定すると、それぞれのパスは以下のようになります。
バックアップは設定したバックアップ先(デフォルトではC:\MySQLBackupHome(Windows))に取得されます。ディスク故障などに備える場合はMySQLサーバがデータやログの入出力に使っているディスク以外を指定するようにします。
Workbench経由のMEBバックアップ(設定・実行)
画面を進めるとバックアップをスケジュールする画面が表示されます。ここで「New Job」ボタンを押すと、バックアップ用の新たなジョブを設定する画面に遷移しますので、フルバックアップ・インクリメンタルバックアップにする、バックアップの頻度、などを設定します。図4. はテスト用に毎時00分にフルバックアップを取得するジョブを作成し、その1回目が成功したことを示しています。
「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サーバが起動している状態から行いますので、実運用というよりは開発作業向け(例: 状態をバックアップ時点に戻したい)の機能です。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- MySQL Enterprise Monitor 3.0:MySQLの運用監視ツール
- MySQL Connect 2013でも発表されたMySQLの最新リリースと、関連ツールの基礎知識
- MySQL Enterprise Edition最新情報
- Pythonで作られた便利なコマンドラインツール MySQL Utilities
- MySQL 5.6での機能強化点(その1)- パフォーマンスと使い勝手を大きく向上
- MySQL Workbench 6.0概略。まずはインストールしてDBにつないでみよう
- オラクル、「MySQL 5.7 Development Milestone Release(DMR)」をリリース
- MySQL Clusterのバックアップ/リストアの具体例
- 高可用性とデータ・シャーディングを実現できるMySQL Fabricとは?
- MySQL 5.6での機能強化点(その2)- NoSQL APIとパフォーマンス・スキーマ