Percona Monitoring and Management(PMM)によるMySQLバックアップが便利そう
技術本部 サービスリライアビリティグループ(SRG)の鬼海(@fat47)です。
#SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。
なにかの役に立てば幸いです。
はじめにPercona Monitoring and Management(PMM)とはPMMの紹介バックアップ管理機能PMMインストール手順検証環境PMMサーバの構築PMM Clientのインストールとノードの追加バックアップとリストアの実行PMM Serverのバックアップマネジメント機能を有効にするPMM バックアップ機能の前提条件
はじめに
MySQLを運用したことのある方ならPercona社の名前は聞いたことがあるかと思います。
MySQLの運用を便利にしてくれるPercona-ToolkitやバックアップツールのXtraBackupなどのツールを開発している会社です。
そんなPerconaがリリースしているPercona Monitoring and Managementというツールのバックアップ管理機能が便利そうだったので触ってみました。
Percona Monitoring and Management(PMM)とは
PMMの紹介
Percona Monitoring and Management(PMM)は、Percona社が開発したモニタリングおよび管理ツールです。
MySQLだけではなくPostgreSQLやMongoDBなども管理できます。
クエリ解析やAlertingの機能などもあり非常に多機能な管理ツールとなっています。

PMMには2016年頃からリリースされている1.xというバージョンと、2019年10月にGAリリースされたPMM2が存在します。
2023年2月現在の最新リリースは2.34.0となっています。
バックアップ管理機能
本日はバージョン2.18.0からテクニカルプレビュー機能でリリースされているバックアップ管理機能を試してみます。
MySQLのバックアップ機能は2023年2月現在もテクニカルプレビューのままとなっています。
MySQLのバックアップ管理機能のテクニカルプレビューの制限は下記の通りです。
- 物理バックアップのみ。論理バックアップは非対応
- 保存先はS3(またはS3互換API対応ストレージ)でローカル上や別サーバに出力不可
MongoDBのバックアップ機能については2022年11月リリースの2.32.0にてGAリリースとなっていて、上記の制限はありません。
MongoDBについては後日別の記事で紹介したいと思います。
PMMインストール手順
検証環境
| ホスト名 | 役割 | OS | MySQL |
| DB1 | ソース | CentOS 5.7 | 8.0.28 |
| DB2 | レプリカ | CentOS 5.7 | 8.0.28 |
| PMM01 | PMMサーバ | CentOS 5.7 |
PMMサーバの構築
公式ドキュメントのDockerをつかった構築方法に従います。
【PMM01にて】
Dockerインストール
PMM Serverのコンテナ起動まで
これで管理コンソールが立ち上がっているのでブラウザから確認可能です。
で先ほど指定したパスワードでログイン可能となります。

PMM Clientのインストールとノードの追加
【DB1,DB2にて】
管理対象のMySQLサーバにClientをインストールします。
PMM clientからMySQL接続できるユーザを作成します。
CLIでノード追加します。
※GUIからノード追加することもできますが、その場合は作成するMySQLユーザはPMM Serverからアクセスできるようにする必要があります。
GUIからノード追加する場合、左上のメニューの>矢印を押します。

[Configuration]→ [Add Instance to PMM]を選択します。

MySQLを選択します。

接続情報など必要情報を入力してAdd serviceを押します。

これでGUI上からノード追加することができます。
バックアップとリストアの実行
PMM Serverのバックアップマネジメント機能を有効にする
MySQLのバックアップ管理機能はテクニカルプレビューなので、別途有効にする必要があります。
左側メニューバーの歯車アイコンを選択→[PMM Settings]

[Advanced Settings[→[Backup Management]のボタンを有効化します。

PMM バックアップ機能の前提条件
- PMM Clientがインストールされている
- PMM ClientがMySQLに接続するユーザがBACKUP_ADMIN権限を持っている
- MySQLがsystemdで起動している
- mysqlユーザ、mysqlグループが存在している
- データディレクトリが/var/lib/mysql である
- pmm-agentユーザが/var/lib/mysqlディレクトリの読み書きできるようにする
- パッケージをインストールして下記コマンドが実行できる
