--- title: "Backup" slug: "db-clouddbserverless-backup" updated: 2026-10-20T09:03:54Z published: 2026-10-20T09:03:54Z canonical: "guide.ncloud-docs.com/db-clouddbserverless-backup" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Backup VPC環境で利用できます。 Backupでは、Cloud DB Serverlessを使用中のユーザーのデータを安全に保存するために、DBクラスタ別に設定しておいたバックアップ情報を確認できます。また、障害が発生してデータが消失した場合は、保管していたバックアップファイルで復元を行います。 まず、バックアップと復元を使用する前に Cloud DB Serverlessで提供しているバックアップに関する基本的な実行ルールを理解することをお勧めします。バックアップの基本的な実行ルールは、次の通りです。 - バックアップの実行方式 - 1日1回、毎日実施 - 自動設定とユーザー定義設定のうち選択 - 自動設定: Cluster作成時に任意の時間が指定されそれ以降は初めてバックアップされた時間と類似の時間にバックアップを実行 - ユーザー定義設定: ユーザーが選択した時間+15分以内にバックアップを開始 - バックアップファイル - 保管期間: ユーザーの設定によって最大30日間まで保管可能 - 保存場所: 別途のデータボリューム ## Backup画面 バックアップ機能を利用するための基本的な説明は、次の通りです。 ![serverless_backup_01_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/serverless_backup01_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T12%3A38%3A54Z&se=2026-10-26T13%3A38%3A54Z&sr=c&sp=r&sig=cSZY%2BiR5tTozfzJnRZbhr3eldCZxSCev1C8Rbg2skNY%3D) ![serverless_backup_02_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/serverless_backup02_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T12%3A38%3A54Z&se=2026-10-26T13%3A38%3A54Z&sr=c&sp=r&sig=cSZY%2BiR5tTozfzJnRZbhr3eldCZxSCev1C8Rbg2skNY%3D) | 領域 | 説明 | | --- | --- | | ① メニュー名 | 現在確認中のメニューの名前 | | ② 基本機能 | Cloud DB Serverlessの詳細情報を確認、Backup画面を更新 | | ③ バックアップタブ | **Cluster Backup**: DBクラスタごとの自動バックアップリストを確認 / **Imported Backup**: Object Storageからインポートしたバックアップリストを確認 | | ④ Cluster Backupリスト | 設定しておいた DBクラスタ別バックアップ設定および設定情報 | | ⑤ 詳細情報 | **[詳細履歴]** ボタン: Cluster Backupの詳細情報と復元、Object Storageに保存 | | ⑥ Object Storageからインポートする | **[Object Storageからインポートする]** ボタン: Object Storageに保存されているバックアップファイルを Import | | ⑦ Imported Backupリスト | Importしたバックアップファイルリストとステータス情報 | | ⑧ 詳細情報 | **[詳細履歴]** ボタン: Imported Backupの詳細情報と復元 | ## バックアップ設定リスト確認 運用中の DBクラスタ別バックアップ設定リストを確認します。バックアップ設定リストを確認する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Database** > **Cloud DB Serverless**メニューを順にクリックします。 2. **Backup**メニューをクリックします。 3. バックアップ設定リストが表示されたら、必要な情報を確認します。 - DBMS: 作成した DBのタイプ - DB Cluster名: ユーザーが指定した DB Clusterの名前 - Backup保管日: バックアップファイルをデータストレージに保存して保管する最大日数 - Backup開始時間: 毎日1回バックアップを行う時間 - Backupデータのサイズ: 完了したバックアップファイルのサイズ - 最終 Backup日時: 最近実行完了したバックアップの日付 - 詳細情報を見る: DBクラスタ別に作成されたバックアップファイルリストの詳細情報と復元、Object Storageに保存 ### Cluster別バックアップファイルリスト確認 バックアップを完了し、Cluster別に作成したバックアップファイルリストを確認する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Database** > **Cloud DB Serverless**メニューを順にクリックします。 2. **Backup**メニューをクリックします。 3. 詳細情報を確認するバックアップ設定行の**詳細情報を見る**で **[詳細履歴]** ボタンをクリックします。 4. バックアップファイルの詳細情報を確認します。 - Backup日: バックアップを行った日付 - Backup時間: バックアップを行った時刻 - Backup Zone: バックアップを行ったゾーン - Backupデータサイズ: バックアップ完了後に作成されたバックアップファイルのサイズ(GB) - ステータス: 当該バックアップ実行に伴うステータス ## コンソールでデータ復元 Cloud DB Serverlessでは、バックアップファイルを利用して消失したデータを復元し、簡単かつ速やかに DBクラスタを作成できるサービスを提供します。 ### Backupファイルの復元 自動バックアップを通じて作成された Backupファイルを使用してデータを復元できます。 作成されたバックアップファイルを使用してデータを復元する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Database** > **Cloud DB Serverless**メニューを順にクリックします。 2. **Backup**メニューをクリックします。 3. 復元するバックアップ設定の行の **[詳細履歴]** ボタンをクリックします。 4. バックアップファイルを選択し、 **[Backupファイル復元]** ボタンをクリックします。 5. **Backupファイル復元**のポップアップが表示されたら、復元のために必要な情報を確認するか、入力します。 ![serverless_backup03_ko](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/serverless_backup03_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T12%3A38%3A54Z&se=2026-10-26T13%3A38%3A54Z&sr=c&sp=r&sig=cSZY%2BiR5tTozfzJnRZbhr3eldCZxSCev1C8Rbg2skNY%3D) - Backup時間: バックアップが完了した時間に復元 - VPC: 選択したバックアップファイルで復元され、新規 DBクラスタ作成時に必要な VPC接続設定値 - Subnet: 選択したバックアップファイルで復元され、新規 DBクラスタ作成時に必要な Subnet接続設定値 - Instance仕様設定: 最小 Unitと最大 Unitを1~165まで入力でき、最小値より小さい最大値の入力は不可 - Auto Scalingポリシー設定: Auto Scalingポリシー設定の使用有無を選択 - Replica増設基準: 平均 CPU使用率、平均 Connection数の中から基準値を入力 - 最小 Replica数と最大 Replica数を1~15の範囲で入力 - DB Cluster名: 新規 DBクラスタの名前 6. **[復元する]** ボタンをクリックします。 7. **DB Server**メニューをクリックします。 8. 復元中の DBクラスタのステータスを確認します。 - 起動中: ユーザーが入力した情報で DBクラスタを作成(復元)しているステータス - 設定中: ユーザーが入力した情報で DBクラスタを作成(復元)して構成しているステータス - 運用中: ユーザーが入力した情報で DBクラスタの作成(復元)と設定が完了し、アクセスできるステータス 注意 DBクラスタの復元完了まで数分から数十分かかる場合があります。 ## Object Storageに保存 Cloud DB Serverlessでは、作成したバックアップファイルを Object Storageに保存し、必要に応じて別の場所に保管できます。保存していたバックアップファイルを Object Storageに保存する方法は、次の通りです。 参考 Object Storageのご利用の申し込み時に、別途料金が発生します。Object Storageの紹介や料金プランについての説明は、NAVERクラウドプラットフォームポータルの **[サービス > Storage > Object Storage](https://www.ncloud.com/product/storage/objectStorage)** メニューをご参照ください。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Database** > **Cloud DB Serverless**メニューを順にクリックします。 2. **Backup**メニューをクリックします。 3. Object Storageに保存するファイルがあるバックアップ設定行の **[詳細履歴]** ボタンをクリックします。 4. バックアップファイルを選択し、 **[Object Storageにエクスポート]** ボタンをクリックします。 5. **Object Storageにエクスポート**のポップアップが表示されたら、保存するバケットをクリックして選択します。 ![serverless_backup04_ko.png](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/serverless_backup04_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T12%3A38%3A54Z&se=2026-10-26T13%3A38%3A54Z&sr=c&sp=r&sig=cSZY%2BiR5tTozfzJnRZbhr3eldCZxSCev1C8Rbg2skNY%3D) 6. **[Object Storageにエクスポート]** ボタンをクリックします。 7. **[確認]** ボタンをクリックします。 注意 - Object Storageに送信する際は、バケットのロック解除とアクセス制御解除の設定が必要です。 - Object Storageへのエクスポートを完了するまで、数分から数時間かかる場合があります。 ## Imported Backup Cloud DB Serverlessでは、Object Storageに保存されたエクスポートバックアップファイルを Importして、新しい DBクラスタを作成できます。Imported Backupは、バックアップ料金と同様に課金されます。 注意 - Cloud DB Serverlessで作成したスナップショットバックアップファイルのみ正常な復旧が保証されます。出典不明のバックアップファイルを使用した新しい DBクラスタの作成はサポートしません。 - Cloud DB Serverlessで許可されているストレージエンジンのテーブルを除き、すべてのデータが削除されます(Plugin、DB ACLなど)。 - 選択したバックアップファイルと、新規作成する DBクラスタの DBバージョンは同一である必要があります。DBバージョンが異なる場合やアクセス制御が設定されているバケットでは、データを正常に取得できません。 - バックアップファイルのサイズは16TiB未満のみ可能です。 - Backup Importが完了するまで、ファイルのサイズによっては数分から数時間かかる場合があります。 ### Object Storageからバックアップをインポート Object Storageに保存されたエクスポートバックアップファイルを Importする方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Database** > **Cloud DB Serverless**メニューを順にクリックします。 2. **Backup**メニューをクリックします。 3. **Imported Backup**タブをクリックします。 4. **[Object Storageからインポート]** ボタンをクリックします。 5. **Object Storageからインポート**のポップアップが表示されたら、必要な情報を入力します。 - Bucket: バックアップファイルが保存されている Object Storageバケットを選択 - 復元ファイル: **[復元ファイル選択]** ボタンをクリックし、Importするバックアップファイルを選択 - DBMSタイプ: バックアップファイルの DBMSタイプを選択 - DBエンジンバージョン: バックアップファイルの DBエンジンバージョンを選択 - Backup名: Importするバックアップの名前を入力(3文字以上、30文字以下) 6. **[確認]** ボタンをクリックします。 ### Imported Backupリスト確認 Importしたバックアップファイルリストを確認する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Database** > **Cloud DB Serverless**メニューを順にクリックします。 2. **Backup**メニューをクリックします。 3. **Imported Backup**タブをクリックします。 4. Imported Backupリストから必要な情報を確認します。 - Backup名: Import時にユーザーが指定したバックアップの名前 - ステータス: 当該 Imported Backupの現在のステータス - DBMS: バックアップファイルの DBタイプ - DBMS Version: バックアップファイルの DBエンジンバージョン - データサイズ: Importされたバックアップファイルのサイズ - Import日時: Importが完了した日付と時刻 ### Imported Backup詳細確認 Importしたバックアップファイルの詳細情報や進行ステータスを確認する方法は、次の通りです。 1. **Imported Backup**タブから確認するバックアップ行の **[詳細履歴]** ボタンをクリックします。 2. 詳細情報を確認します。 - **Imported Backup情報**: Backup名、DBMS、DBMS Version、データサイズ、Import日時、ステータス - **Import情報**: 開始時間、経過時間 - **Import進行ステータス**: Backupダウンロード > 解凍 > 整合性チェック > Backup作成 > 一時ファイルクリーンアップ > 完了 参考 無効なバックアップファイルを Importすると、処理中に失敗する可能性があります。失敗した段階と原因については、該当する Imported Backupの [詳細履歴] でご確認ください。 ### Imported Backup復元 Importしたバックアップファイルを使用して新しい DBクラスタを作成する方法は、次の通りです。DBMSタイプと DBエンジンバージョンは、Object Storageからのインポート段階で入力した値が適用され、変更することはできません。 1. **Imported Backup**タブから復元するバックアップ行の **[詳細履歴]** ボタンをクリックします。 2. **[Backupファイル復元]** ボタンをクリックします。 3. **Imported Backup復元**のポップアップが表示されたら、手順に従って必要な情報を入力します。 **① Cluster設定** **② DB設定** **③ 接続設定** **④ 最終確認** - 高可用性サポート: 選択すると2台のサーバが作成され、追加料金が発生 - Instance仕様設定: 最小 Unitと最大 Unitを入力(1~15) - Auto Scalingポリシー設定: Auto Scalingポリシーによる Replica数の自動調整有無を選択 - データストレージタイプ: 使用するデータストレージのタイプを選択。現在、CB2のみ提供中 - DB Cluster名: 新しい DBクラスタの名前を入力(3文字以上、30文字以下) - USER_ID: DBアクセスに使用するユーザー ID - USERパスワード: DBアクセスに使用するユーザーパスワード - DBアクセスポート: DBアクセスポート番号(デフォルト値: 3306) - DB Config設定: NAVERで提供する最適化したデフォルト設定を確認 - Backupファイル保管期間: バックアップファイルの保管期間を入力 - Backup時間: 自動またはユーザー定義を選択 - DB log収集: errorログ、slow queryログの収集とビューアー機能提供を確認 - VPC: DBクラスタを接続する VPCを選択 - Subnet: DBクラスタを接続する Subnetを選択 - ACG設定: Cloud DB Serverless向けの ACGを自動作成 - Cluster情報、DB情報、接続設定情報を確認します。 4. 内容を確認し、 **[DB Cluster作成]** ボタンをクリックします。 5. **DB Server**メニューをクリックします。 6. 復元中の DBクラスタのステータスを確認します。 - 起動中: ユーザーが入力した情報で DBクラスタを作成(復元)しているステータス - 設定中: ユーザーが入力した情報で DBクラスタを作成(復元)して構成しているステータス - 運用中: DBクラスタの作成(復元)と設定が完了し、アクセスできるステータス 注意 DBクラスタの復元完了まで数分から数十分かかる場合があります。 ## Object Storageによるバックアップファイルの復元 NAVERクラウドプラットフォームの Object Storageに保存したバックアップファイルを使用して、インストール型 MySQLにデータを復元できます。Object Storageによるバックアップファイルの復元方法は、次の通りです。Rocky 8.x - 9.xを基準に説明します。 #### 1. Object Storageでバックアップファイルを準備 1. [Object Storageに保存](/docs/ja/db-clouddbserverless-backup#ObjectStorage%EC%97%90%EC%A0%80%EC%9E%A5)を参照して復元するバックアップファイルを Object Storageに保存します。 2. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Storage** > **Object Storage** > **Bucket Management**メニューを順にクリックし、バックアップファイルを保存したバケットをクリックします。 3. 保存したバックアップファイルをクリックし、**編集 > 権限管理**メニューを順にクリックします。 4. 全体公開項目を**公開**に変更し、 **[確認]** ボタンをクリックします。 5. 保存したバックアップファイルの詳細情報から Link項目のリンクをコピーします。 注意 - バックアップファイルを公開設定にした場合、任意の場所からダウンロードできるようになります。 - バックアップファイルのダウンロード完了後、必ず権限を適切に変更する必要があります。 #### 2. バックアップファイルを使用してデータを復元 1. [Cloud DB Serverless のシナリオ](/docs/ja/db-clouddbserverless-procedure#3-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%84%9C%EB%B2%84-%EC%A0%91%EC%86%8D-%ED%85%8C%EC%8A%A4%ED%8A%B8)を参照してアプリケーションサーバにアクセスします。 2. 以下のコマンドにコピーしたリンクを入れ、実行してバックアップファイルをダウンロードします。 ``` # wget [Link] -- 例 # wget https://kr.object.ncloudstorage.com/test-bk-02/u-40001936-test-kr2-20251230084500.tar.gz # tar xzf [バックアップファイル名] -- 例 # tar xzf u-40001936-test-kr2-20251230084500.tar.gz ``` - バックアップファイルダウンロードを完了すると、Object Storageの権限管理で**公開**設定を**公開しない**に変更します。 3. 以下のコマンドを実行し、my.cnfファイルの絶対パスを設定します。 ``` # MYSQL_CONF=/etc/my.cnf ``` 4. 以下のコマンドを順に実行してテンポラリディレクトリを作成し、`BACKUP_DIR`のパスをテンポラリディレクトリの場所として指定します。 ``` # cd ~ # mkdir backup # cd ./backup/ # BACKUP_DIR=`pwd` ``` 5. 以下のコマンドを順に実行し、各パスが正常に指定されているか確認します。 ``` # echo $MYSQL_CONF # echo $BACKUP_DIR ``` 6. 以下のコマンドを実行し、実行中の MySQLを終了します。 ``` # systemctl stop mysqld ``` 7. 以下のコマンドを順に実行し、my.cnfファイルを通じて datadirの場所を確認した後、datadir変数に対応するディレクトリをバックアップフォルダに移動します。 ``` # grep datadir ${MYSQL_CONF} # mv [data directory場所] ${BACKUP_DIR} -- 例 mv /var/lib/mysql ${BACKUP_DIR} ``` 8. 以下のコマンドを順に実行し、Object Storageを使用してバックアップしたファイルを datadirの場所にコピーします。 ``` # mkdir [data directoryのパス] -- 例 # mkdir /var/lib/mysql # cp -a [バックアップファイルのパス] [data directoryのパス] -- 例 # cp -a /root/data/* /var/lib/mysql/ ``` 9. 以下のコマンドを順に入力して datadir場所に移動し、datadir権限を `mysql`に変更します。 ``` # cd [data directoryのパス] -- 例 # cd /var/lib/mysql # chown -R mysql:mysql [data directoryパス] -- 例 # chown -R mysql:mysql /var/lib/mysql ``` 10. my.cnfファイルの `[mysqld]` 構文の下に `skip-grant-tables` 構文を追加します。 ``` # vi /etc/my.cnf [mysqld] skip-grant-tables ``` 11. 以下のコマンドを順に実行して MySQLを開始し、新しい rootアカウントを作成します。 ``` # systemctl start mysqld mysql -u root -p mysql > flush privileges; mysql > create user root@localhost identified by 'パスワード'; mysql > grant all privileges on *.* to root@localhost with grant option; mysql > flush privileges; ``` - `create` 実行時、`ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'localhost'` エラーが発生する場合があります。この場合、`drop user 'root'@'localhost';` コマンドを実行して既存 rootアカウントを削除し、もう一度 `create`を実行します。 12. My.cnfファイルの `[mysqld]` 構文の下に追加した `skip-grant-tables` 構文を削除し、以下のコマンドを実行して MySQLを再起動します。 ``` # systemctl restart mysqld ``` 参考 バックアップを実行した MySQLと復旧する MySQLのバージョンを同一にすることで、正常に復旧できるようになります。 ## MySQL Dumpで復元する Cloud DB Serverlessでは、コンソールで提供するバックアップ(スナップショット)機能に加え、MySQLクライアントの `mysqldump` ユーティリティを使用して、論理(logical)バックアップを直接実行および復元できます。特定のデータベースやテーブル単位でバックアップする場合や、バックアップ結果をオンプレミスの MySQLなど他の環境に移行する際に役立ちます。Rocky 8.x - 9.xを基準に説明します。 参考 Cloud DB Serverlessはマネージドサービスであるため、システムデータベース(`mysql`、`sys`など)やシステムアカウント、レプリケーション/GTIDの設定はサービス側が管理します。したがって、ユーザーが直接作成したユーザーデータベースのみをバックアップ/復元の対象とし、`--all-databases` オプションは使用しないことをお勧めします。 ### 事前準備事項 `mysqldump` / `mysql` クライアントを使用してバックアップおよび復元を行う前に、以下の事項を準備してください。 - `mysqldump` / `mysql` クライアントがインストールされているサーバ上で実行します。Cloud DB Serverlessのエンドポイントには VPC内部からのみアクセスできるため、同じ VPC内にあるサーバ(例: アプリケーションサーバ)上で実行する必要があります。 - アクセスに必要な以下の情報は、コンソールの DBクラスタ詳細画面でご確認ください。 - DBエンドポイント(Privateドメイン): 復元などの書き込みタスクは、読み取り・書き込み(RW)エンドポイントにアクセスして行います。 - DBアクセスポート - DBユーザー ID/パスワード - Cloud DB Serverlessでは Global Transaction Identifier(GTID)が有効(`gtid_mode=ON`)になっているため、バックアップ時には `--set-gtid-purged=OFF` オプションの使用にご注意ください。 ### mysqldumpによるバックアップファイル作成 1. [Cloud DB Serverless のシナリオ](/docs/ja/db-clouddbserverless-procedure#3-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%84%9C%EB%B2%84-%EC%A0%91%EC%86%8D-%ED%85%8C%EC%8A%A4%ED%8A%B8)を参照して同じ VPCのアプリケーションサーバにアクセスします。 2. 以下のコマンドを実行して、特定のデータベースをバックアップします。 ``` mysqldump --set-gtid-purged=OFF -u [DBユーザー ID] -p -h [DBエンドポイント] -P [DBアクセスポート] \ --single-transaction --databases [バックアップデータベース名] > [作成するバックアップファイル名].sql ``` 3. 複数のデータベースを一度にバックアップするには、`--databases`の末尾にスペースを区切りとして入れて列挙します。 ``` mysqldump --set-gtid-purged=OFF -u [DBユーザー ID] -p -h [DBエンドポイント] -P [DBアクセスポート] \ --single-transaction --databases [データベース1] [データベース2] > [作成するバックアップファイル名].sql ``` 4. MySQL 8.0以降のクライアントでバックアップ時に `Unknown table 'COLUMN_STATISTICS'` エラーが発生した場合は、`--column-statistics=0` オプションを追加します。 ``` mysqldump --set-gtid-purged=OFF --column-statistics=0 -u [DBユーザー ID] -p -h [DBエンドポイント] \ -P [DBアクセスポート] --single-transaction --databases [バックアップデータベース名] > [作成するバックアップファイル名].sql ``` 5. ストアドプロシージャ・関数・イベントをまとめてバックアップするには、`--routines`、`--events` オプションを追加します(テーブル、ビュー、トリガーはデフォルトで含まれますが、ストアドプログラムとイベントはこのオプションを指定することで含まれるようになります)。 ``` mysqldump --set-gtid-purged=OFF --single-transaction --routines --events \ -u [DBユーザー ID] -p -h [DBエンドポイント] -P [DBアクセスポート] \ --databases [バックアップデータベース名] > [作成するバックアップファイル名].sql ``` 主なオプションの説明は、次の通りです。 | オプション | 説明 | | --- | --- | | `--set-gtid-purged=OFF` | GTIDが有効になっている環境では、ダンプファイルに `SET @@GLOBAL.gtid_purged` 構文が含まれないようにします。この構文が含まれている場合、復元対象のサーバで権限不足や GTIDの競合により、復元が失敗することがあります。 | | `--single-transaction` | InnoDBテーブルを1つのトランザクションとして一貫性を持ってバックアップします。バックアップ中にテーブルのロックを回避できます。 | | `--databases` | 指定したデータベースのみをバックアップします。ダンプファイルには `CREATE DATABASE` / `USE` 構文が含まれます。 | | `--column-statistics=0` | MySQL 8.0以降のクライアントで、カラム統計の照会を無効にします。 | 注意 Cloud DB Serverlessの DBユーザーアカウントには、システムスキーマ(`mysql`、`sys`、`performance_schema`)に対する書き込み権限がありません。`--all-databases`でバックアップを行うと、こうしたシステムスキーマまで含まれてしまうため復元時にエラーが発生することがあります。そのため、必ずユーザーデータベースのみを指定してバックアップを行ってください。 ### バックアップファイルでの復元 #### Cloud DB Serverlessへの復元 1. コンソールで復元対象のデータベースを事前に作成しておきます。 2. 以下のコマンドを実行して、バックアップファイルを適用します。書き込み可能な読み取り・書き込み(RW)エンドポイントに接続する必要があります(読み取り専用のエンドポイントは `super_read_only`として動作するため、書き込みは拒否されます)。 ``` mysql -u [DBユーザー ID] -p -h [DBエンドポイント] -P [DBアクセスポート] [復元するデータベース名] < [バックアップファイル名].sql ``` 3. 復元前に、バックアップファイルに Cloud DB Serverlessで許可されていない以下の SQL文が含まれている場合は削除します。 - `SET @@GLOBAL ...` または `SET @@SESSION ...`などのグローバル/セッション変数を変更する構文 - 明示的 `DEFINER` 節を含むオブジェクト作成構文(`PROCEDURE`、`FUNCTION`、`TRIGGER`、`EVENT`、`VIEW`) 4. `DEFINER`がバックアップソースのアカウントを指している場合、復元アカウントに別のアカウントを `DEFINER`に指定する権限(`SUPER` または `SET_ANY_DEFINER`)がないと以下のエラーが発生して復元に失敗します。Cloud DB Serverlessの一般 DBユーザーアカウントには、この権限がありません。 ``` ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER or SET_ANY_DEFINER privilege(s) for this operation ``` 5. 上記のエラーが発生した場合は、以下のように `DEFINER` 節を削除してから復元します。 ``` sed -e 's/DEFINER=[^]* //g' [バックアップファイル名].sql | \ mysql -u [DBユーザー ID] -p -h [DBエンドポイント] -P [DBアクセスポート] [復元するデータベース名] ``` 参考 バックアップを実行した MySQLと復元する MySQLのバージョンを同一にすることで、正常に復元できるようになります。