5.22.2.3. MySQL データベースのバックアップ


MySQL データベースをバックアップするには、データベースダンプを保存するための永続ボリューム要求 (PVC) を作成します。これは、復旧シナリオに備えて 3scale システムのデータベースデータを保護するのに役立ちます。

前提条件

  • Red Hat 3scale API Management Operator をバックアップした。

手順

  1. さらに PVC を追加するには、次の設定で YAML ファイルを作成します。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: example-claim
      namespace: threescale
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: gp3-csi
      volumeMode: Filesystem
  2. 次のコマンドを実行して追加の PVC を作成します。

    $ oc create -f ts_pvc.yml
  3. MySQL ダンプを使用するように system-mysql デプロイメントを編集して、PVC をシステムデータベース Pod にアタッチします。

    $ oc edit deployment system-mysql -n threescale
      volumeMounts:
        - name: example-claim
          mountPath: /var/lib/mysqldump/data
        - name: mysql-storage
          mountPath: /var/lib/mysql/data
        - name: mysql-extra-conf
          mountPath: /etc/my-extra.d
        - name: mysql-main-conf
          mountPath: /etc/my-extra
        ...
          serviceAccount: amp
      volumes:
            - name: example-claim
              persistentVolumeClaim:
                claimName: example-claim
        ...
    claimName
    ダンプされたデータを含む PVC を指定します。
  4. MySQL データベースをバックアップするために、次の設定を含む YAML ファイルを作成します。

    apiVersion: velero.io/v1
    kind: Backup
    metadata:
      name: mysql-backup
      namespace: openshift-adp
    spec:
      csiSnapshotTimeout: 10m0s
      defaultVolumesToFsBackup: true
      hooks:
        resources:
        - name: dumpdb
          pre:
          - exec:
              command:
              - /bin/sh
              - -c
              - mysqldump -u $MYSQL_USER --password=$MYSQL_PASSWORD system --no-tablespaces
                > /var/lib/mysqldump/data/dump.sql
              container: system-mysql
              onError: Fail
              timeout: 5m
      includedNamespaces:
      - threescale
      includedResources:
      - deployment
      - pods
      - replicationControllers
      - persistentvolumeclaims
      - persistentvolumes
      itemOperationTimeout: 1h0m0s
      labelSelector:
        matchLabels:
          app: 3scale-api-management
          threescale_component_element: mysql
      snapshotMoveData: false
      ttl: 720h0m0s

    ここでは、以下のようになります。

    mysql-backup
    バックアップ内の metadata.name パラメーターの値を指定します。MySQL データベースを復元する際に、metadata.backupName パラメーターにこの値を使用してください。
    /var/lib/mysqldump/data/dump.sql
    データのバックアップ先ディレクトリーを指定します。
    includedResources
    バックアップするリソースを指定します。
  5. 次のコマンドを実行して、MySQL データベースをバックアップします。

    $ oc create -f mysql.yaml

    出力例

    backup.velero.io/mysql-backup created

検証

  • 次のコマンドを実行して、MySQL のバックアップが完了したことを確認します。

    $ oc get backups.velero.io mysql-backup -o yaml

    出力例

    status:
    completionTimestamp: "2025-04-17T13:25:19Z"
    errors: 1
    expiration: "2025-05-17T13:25:16Z"
    formatVersion: 1.1.0
    hookStatus: {}
    phase: Completed
    progress: {}
    startTimestamp: "2025-04-17T13:25:16Z"
    version: 1

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る