Google Cloud SQL for MySQLを取り込み用に構成する
プレビュー
MySQL コネクタはパブリック プレビュー段階です。アクセスをリクエストするには、Databricks アカウント チームにお問い合わせください。
この記事では、Google SQL for MySQLを取り込み用に構成する方法について説明します。 変更データ キャプチャをサポートするには、バイナリ ログを有効にし、バイナリ ログ保持を構成する必要があります。
要件
- Cloud SQL for MySQLバージョン 5.7.44 以降、または 8.0 以降。
- クラウドSQLインスタンス。
データベースフラグを構成する
バイナリ ロギングは、Cloud SQL for MySQLのデータベース フラグを通じて制御されます。 これらのフラグは、Google Cloud Console を通じて設定する必要があります。
必要なデータベースフラグ
次のデータベース フラグを構成します。
フラグ | Value | 説明 |
|---|---|---|
|
| バイナリ ログを有効にします。 |
|
| バイナリ ログ形式を行ベースのレプリケーションに設定します。チェンジデータキャプチャに必要です。 |
|
| 変更された列だけでなく、すべての列をバイナリ ログに記録します。 |
|
| 自動的に消去されるまでバイナリ ログを保持する期間を指定します。MySQL 5.7 の場合は、代わりに |
Googleクラウドコンソール
Google Cloud Console を使用してデータベース フラグを構成するには:
- Google クラウド コンソールを開き、クラウドSQLインスタンス ページに移動します。
- SQLインスタンスを選択して、インスタンスの詳細ページを開きます。
- ページ上部の 「編集」 をクリックします。
- 「フラグ」 セクションまで下にスクロールします。
- 「フラグを追加」 をクリックし、
binlog_formatを選択します。値をROWに設定します。 - 「フラグを追加」 をクリックし、
binlog_row_imageを選択します。値をFULLに設定します。 - MySQL 8.0 の場合は、 「フラグを追加」 をクリックし、
binlog_expire_logs_secondsを選択します。値を604800以上に設定します。 - MySQL 5.7.44 以降の場合は、 「フラグの追加」 をクリックし、
expire_logs_daysを選択します。値を7以上に設定します。 - ページの下部にある 「保存」 をクリックします。
- プロンプトが表示されたら、変更を有効にするためにインスタンスを再起動することを確認します。
バイナリログの保持に関する考慮事項
Databricks では、binlog の保持期間を 7 日間 (168 時間または 604,800 秒) にすることを推奨しています。より低い値を設定すると、取り込みゲートウェイがバイナリログを再生する前にバイナリログがクリーンアップされ、すべてのテーブルを完全に更新する必要が生じる可能性があります。
MySQL 5.7.44 以降では、 expire_logs_daysフラグ (日数単位の整数値) を使用します。
MySQL 8.0 以降では、 binlog_expire_logs_secondsフラグ (秒単位の整数値) を使用します。
binlog設定を確認する
データベース フラグを構成してインスタンスを再起動した後、バイナリ ログが適切に構成されていることを確認します。MySQLクライアントを使用してクラウドSQLインスタンスに接続し、実行します。
-- Check if binary logging is enabled
SHOW VARIABLES LIKE 'log_bin';
-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | log_bin | ON |
-- +---------------+-------+
-- Check binlog format
SHOW VARIABLES LIKE 'binlog_format';
-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | binlog_format | ROW |
-- +---------------+-------+
-- Check binlog row image
SHOW VARIABLES LIKE 'binlog_row_image';
-- Should return:
-- +------------------+-------+
-- | Variable_name | Value |
-- +------------------+-------+
-- | binlog_row_image | FULL |
-- +------------------+-------+
-- For MySQL 8.0: Check retention in seconds
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
-- For MySQL 5.7: Check retention in days
SHOW VARIABLES LIKE 'expire_logs_days';
ネットワーク構成
Cloud SQLインスタンスがDatabricksからアクセスできることを確認します。
- パブリック IP : Databricks IP 範囲からの接続を許可するために承認済みネットワークを追加します。
- プライベート IP : Google クラウドVPCとDatabricksの間のVPCピアリングを構成します。
- SQLクラウド プロキシ : 安全な接続のためにクラウドSQL Auth Proxy の使用を検討してください。
承認済みネットワーク(パブリック IP)を追加する
パブリック IP 接続用の承認済みネットワークを追加するには:
- クラウド上でコンソールで、クラウドSQLインスタンスに移動します。
- 左側のメニューから 「接続」 を選択します。
- [承認済みネットワーク] の下で、 [ネットワークの追加] をクリックします。
- Databricks IP 範囲を入力します。
- 「完了」 をクリックし、 「保存」を クリックします。
自動バックアップ
SQL 、自動バックアップが有効になっている場合、バイナリ ログを自動的に有効にします。 自動バックアップが有効になっていることを確認します。
- クラウド上でコンソールで、クラウドSQLインスタンスに移動します。
- 左側のメニューから 「バックアップ」 を選択します。
- 自動バックアップ が有効になっていることを確認します。
- 無効になっている場合は、 「構成の編集」 をクリックして自動バックアップを有効にします。
次のステップ
管理者は次のいずれかを実行できるようになりました。
- カタログエクスプローラーを使用して接続を作成し、管理者以外のユーザーがパイプラインを作成できるようにします。
- データ取り込み UI を使用して接続とパイプラインを作成する