本ブログは Backup your MySQL instance to the Cloud の翻訳版です。

MySQL Shell 8.1以降では、MySQLインスタンスの論理バックアップを作成し、Oracleが提供するクラウド環境Oracle Cloud Infrastructure(OCI)上にある高性能ストレージ・プラットフォーム「オブジェクト・ストレージ」に直接保存するのが、より簡単になりました。具体的には、新しく追加されたMySQL Shellのオプションを使用して事前認証済リクエスト(PAR)を使うことにより、オブジェクト・ストレージのバケットに直接ダンプを取ることができるようになりました。

Migrate to MySQL HeatWave on OCI


バケットの作成

まずOCIのWebコンソールを使用して、オブジェクト・ストレージにバケットを作成します。
 

ObstBkup_hamburgermenu

 

 

[バケットの作成] 画面で新しいバケットに名前を付け、バケット名以外はデフォルトの値を使用して作成します。

ObstBkup_BucketCreation

 

 

バケットが作成されたら、バケット名の横の三点メニューをクリックし [事前認証済リクエストの作成] を選択します。

ObstBkup_threedots

 

 

オブジェクト・ストレージのバケットにMySQL Shellでバックアップを直接保存するためには、[オブジェクトの読取りと書込みを許可] と [オブジェクト・リストの有効化] の選択が必要です。

PAR details

 

事前認証済リクエストのURLは、作成直後に一度しか表示されないことに留意して下さい。現在2種類のURLが利用可能です。本記事の実施例では新しいURLを使用するので、選択してコピーします。
 

PAR Urls

 

MySQL Shell


先ほど作成しコピーした事前認証済リクエストを使用して、MySQL ShellからOCIオブジェクト・ストレージに論理ダンプを直接保存します。コマンドライン・ユーティリティのMySQL Shellと、MySQL Shell for Visual Studio Codeが使用可能です。

訳者注: イノベーション・リリースであるMySQL 8.1のサポートは既に終了しています。2024年6月現在、本機能をご利用の際には最新版であるMySQL Shell 8.4をご利用下さい。下記はMySQL Shell 8.4のインストール例です。

$ sudo yum install https://dev.mysql.com/get/mysql84-community-release-el8-1.noarch.rpm

$ sudo yum install mysql-shell

ObstBkup_installations

MySQLインスタンスに接続し、dumpInstance() ユーティリティを実行します。基本的な構文は下記です。

JS> util.dumpInstance(PAR_URL, options)


下記はMySQL Shell for Visual Studio Codeを使用した例です。

MySQL Shell for Visual Studio

DumpInstance() in MySQL Shell for Visual Studio


下記はコマンドライン・ユーティリティのMySQL Shellを使用した例です。

JS> util.dumpInstance("https://idazzjlcjqzj.objectstorage.us-ashburn-1.oci.customer-oci.com/xxxxxxxxxxxx/backups01/o/", {compatibility: ["strip_invalid_grants"]})

 

ダンプユーティリティのオプションについては、公式Webマニュアルをご覧下さい



オブジェクト・ストレージ


先ほどのダンプユーティリティを実行すると、MySQLのダンプがオブジェクト・ストレージに直接保存されます。@.json は、ダンプに関する重要な情報を含むファイルです。
 

Object Storage Bucket's Content

 

まとめ

上記でご紹介した通り、MySQL Shell 8.1で追加された機能により、OCIクラウド環境への論理データの保存がさらに簡単になりました。データをOCI上で保存およびバックアップして、安全に保つのに優れた方法です。また本記事でご紹介した方法は、ダンプを使用してMySQL HeatWaveに移行する際にも有用です。

イノベーション・リリースであるMySQL 8.1のサポートは既に終了しています。2024年6月現在、本機能をご利用の際には最新版であるMySQL Shell 8.4をご利用下さい。

本記事で使用したMySQL Shellなどのツールも含め、MySQLは進化し続けていますので、今後ともご愛顧のほどお願いいたします。