sql >> データベース >  >> RDS >> Mysql

MySQL、MariaDB、GaleraClusterのバックアップのベストプラクティス

    SomeninesのシニアサポートエンジニアであるKrzysztofKsiążekが率いるMySQL、MariaDB、Galeraクラスターのバックアップ戦略とベストプラクティスに関する火曜日のウェビナーに登録および/または参加したすべての人に感謝します。セッションに参加できなかった場合、もう一度視聴したい場合、またはスライドを閲覧したい場合は、オンラインで閲覧できます。以下のQ&Aセッションの記録も確認してください。

    ウェビナーのリプレイを見る

    本番環境でMySQL、MariaDB、またはGaleraクラスターを運用しているSysAdmin、DBA、またはDevOpsの専門家であるかどうかにかかわらず、バックアップがスケジュールされ、実行され、定期的にテストされていることを確認する必要があります。 Krzysztofは昨日、まさにそれを行う方法に関する彼の重要なベストプラクティスのヒントとコツのいくつかを共有しました。 ClusterControlを使用したライブデモを含みます。つまり、このウェビナーのリプレイでは、さまざまなバックアップオプションの長所と短所が示され、環境に最適なものを選択するのに役立ちます。

    ハッピーバックアップ!

    質問と回答

    Q. mysqldumpとmysqldumperを使用してバックアップを取りながら、I / Oを制御できますか(以前はうまく使用していましたが、役に立ちませんでした)。

    A.理論的には可能かもしれませんが、実際にはテストしていません。本当にスロットルを適用したい場合は、cgroupsを調べることをお勧めします。これは、プロセスごとにI/Oアクティビティをスロットルするのに役立ちます。

    Q. ClusterControlでmydumperを使用できますか?ClusterControlはフリーソフトウェアですか?

    A.現在はサポートしていませんが、いつでも手動で使用できます。 ClusterControlは、このツールの使用を妨げるものではありません。 ClusterControlには無料のコミュニティバージョンがありますが、そのバックアップ機能は商用バージョンの一部です。無料のコミュニティバージョンを使用すると、データベース(クラスター)を展開および監視したり、独自のカスタムデータベースアドバイザーを開発したりできます。また、ClusterControlのすべての機能にアクセスできる1か月の試用期間があります。すべての機能の詳細については、https://severalnines.com/pricing

    をご覧ください。

    Q. xtrabackupは保存データの暗号化で機能しますか?

    A.MySQLまたはPerconaServerの暗号化されたデータを処理できます。これは、xtrabackupがコピーするテーブルスペースのみを暗号化するためです。テーブルスペースのコンテンツにアクセスする必要はありません。 MariaDBは、テーブルスペースだけでなく、たとえば、xtrabackupによってアクセスされる必要があるInnoDB REDOログも暗号化します。したがって、xtrabackupは、MariaDBに実装されている保存データの暗号化では機能しません。このため、MariaDBCorporationはxtrabackupをMariaDBBackupにフォークしました。このツールは、MariaDBによる暗号化をサポートしています。

    Q.ポイントインタイムリカバリにmydumperを使用できますか?

    A.はい、可能です。 mydumperはGTIDデータを保存できるため、最後に適用されたトランザクションを識別し、バイナリログを処理するための開始位置として使用できます。

    Q. start-positionとend-positionの代わりにstart-datetimeとend-datetimeを使用してxtrabackupでバイナリログを使用する場合、問題はありますか?金曜日に完全バックアップを作成し、隔日で増分バックアップを作成します。リカバリする必要がある場合は、最後の完全バックアップとすべての増分バックアップ、およびこの日の00:00からNOWまでのバイナリログを取得します... apply-logに問題がある可能性がありますか?

    A.一般に、データベースのバイナリログに応答する場合は、-start-datetimeまたは--end-datetimeを使用しないでください。十分にきめ細かくはありません。解像度は1秒で、その秒の間に多くのトランザクションが発生する可能性があります。これを使用して、手動で検索する時間枠を最小限に抑えることができますが、それだけです。バイナリログを再生する場合は、-start-positionと--end-positionを使用する必要があります。これだけが、binlogを再生するイベントと、それが終了するイベントを正確に定義します。

    Q.ロードバランサーまたはMySQLノードの1つでダンプソフトウェアを実行する必要がありますか?

    A.通常、MySQLノードで使用します。一部のツールはそれしか実行できません。たとえば、Xtrabackup-データベースホスト上でローカルに実行する必要があります。出力を別の場所にストリーミングできますが、ローカルで開始する必要があります。

    Q. ClusterControlを使用して部分的なバックアップを取ることはできますか?はいの場合、実行中のインスタンスでバックアップを復元するにはどうすればよいですか?

    A.はい、ClusterControlを使用して部分バックアップを作成できます(xtrabackupを使用して個別のスキーマをバックアップできます)が、現時点では、実行中のインスタンスで部分バックアップを復元することはできません。これは、復元するスキーマがクラスターの他の部分と一致しないという事実が原因です。一貫性を保つには、バックアップを復元するノードからクラスターをブートストラップする必要があります。したがって、技術的には、ノードは常に実行されますが、かなり重くて侵襲的な操作です。これは、別のホストでバックアップを復元できるClusterControlの次のバージョンで変更されます。次に、そのホストから、mysqldump(またはmydumper)を使用して復元されたスキーマの内容をダンプし、本番クラスターに復元できます。

    Q.mysqldumperコマンドを共有していただけますか?

    A.ドキュメントからコピーアンドペーストせずにこの質問に答えるのはかなり難しいので、ドキュメントを参照するのが最善だと思います:https://github.com/maxbube/mydumper/tree/マスター/ドキュメント

    ウェビナーのリプレイを見る

    関連するホワイトペーパーMySQLとMariaDBのデータベースバックアップに関するDevOpsガイドこのホワイトペーパーでは、MySQLとMariaDBで利用できる最も一般的な2つのバックアップユーティリティ、つまりmysqldumpとPerconaXtraBackup.Downloadについて説明します。
    1. 同一サーバーのさまざまな計画

    2. Accessで通常のクエリをクロス集計クエリに変換する方法

    3. oracle.sql.ARRAYオブジェクトを作成するにはどうすればよいですか?

    4. ビッグデータ分析を理解する