mysqldumpを使用したコントローラのバックアップ
mysqldump ユーティリティは、コントローラの MySQL インスタンスに含まれる MySQL バックアップツールです。
mysqldump は、コントローラのメトリックデータテーブルなどの大規模なデータテーブルでの使用は推奨されていませんが、コントローラのメタデータのバックアップには便利です。メタデータには、アプリケーション、ビジネストランザクション、アラート構成といった、コントローラのモニタリング対象ドメインが定義されています。
以下の手順は、PATH変数にコントローラのMySQLインスタンスのバイナリパスが設定されていることを前提としています。コントローラのMySQLインスタンスへのパスは、システム上の他のMySQLパスより優先される必要があります。これにより、Linuxにデフォルトで組み込まれているMySQLインスタンスといった、マシン上にある他のデータベース管理システムとの競合を防止できます。
コントローラデータベースのデータベース バイナリ ファイルは <controller_home>/db/bin にあります。
mysqldump を使用するには、mysqldump 実行ファイルを実行し、root ユーザー名、パスワード、および出力ファイルを渡します。実行ファイルは以下のディレクトリにあります。
<controller_home>/db/bin
コマンドは、次の形式で指定する必要があります。
mysqldump -u root -p<password> <ignore-table_statements> > /tmp/metadata_dump.sqlメタデータバックアップで除外するテーブルを示した詳しい例については、次のセクションで説明するメタデータバックアップスクリプトの内容を参照してください。
mysqldumpスクリプトのサンプル
以下のスクリプトは、mysqldump を使用して、ランタイムデータテーブルを除外しながらコントローラのメタデータをエクスポートする方法を示しています。
MySQLのデータディレクトリにカスタムの場所を使用しているコントローラをmysqldumpでバックアップすると、メタデータのダンプが不完全で使用不能なものとなってしまいます。デフォルトでは、コントローラの MySQL のデータディレクトリの場所は appd_install_dir/db/data です。ここにデータディレクトリがなければ、MySQLのデータディレクトリに代わりのディレクトリかマウントポイントを選択して構成していることを意味します。
この問題を修正するには
<Controller Home>/db/db.cnfを調べます。- datadir パラメータを見つけます。これには、コントローラホストのMySQLデータディレクトリへのパスが含まれています。
- メタデータのバックアップスクリプトを編集します
$appd_install_dir/db/dataを db.cnf にある datadir パスに置き換えます。
このスクリプトを使用するには
- ご使用のオペレーティングシステムに適したバージョンをダウンロードします。
- ファイル名から.txt拡張子を削除します。
- スクリプトのコメントに記載されている方法でファイルの内容を変更します。