メインコンテンツまでスキップ

MySQLユーザーに権限を付与する

備考

プレビュー

MySQL コネクタはパブリック プレビュー段階です。アクセスをリクエストするには、Databricks アカウント チームにお問い合わせください。

備考

このページには、Databricks では使用されない用語である「 スレーブ 」への参照が含まれています。サードパーティ ソフトウェアから用語が削除されると、このページからも削除されます。

Databricks にデータを取り込むために使用する MySQL ユーザーに必要な権限を付与する方法を学習します。

Databricks では、Databricks の取り込み専用の MySQL ユーザーを作成することをお勧めします。このユーザーには、テーブル データを読み取り、変更データ キャプチャのバイナリ ログにアクセスするための特定の権限が必要です。

認証方法

MySQL コネクタは、MySQL バージョンに基づいて次の認証プラグインをサポートします。

MySQL 5.7.44 以降:

  • sha256_password

MySQL 8.0 以降:

  • sha256_password
  • caching_sha2_password (MySQL 8.0 のデフォルト)
注記

sha256_passwordまたはcaching_sha2_password使用すると、有効な資格情報があっても、Databricks UI の [テスト接続] ボタンが失敗する可能性があります。これは既知の制限です。接続を作成し、パイプラインのセットアップを続行することは可能です。

レプリケーションユーザーを作成する

レプリケーション専用の MySQL ユーザーを作成するには、MySQL データベースで次の SQL コマンドを実行します。

SQL
-- For MySQL version >= 8.x
CREATE USER 'lakeflow_connect_user'@'%' IDENTIFIED WITH caching_sha2_password BY 'StrongP@ssw0rd!';

-- For MySQL version 5.7.x
CREATE USER 'lakeflow_connect_user'@'%' IDENTIFIED WITH sha256_password BY 'StrongP@ssw0rd!';

StrongP@ssw0rd!強力なパスワードに置き換えてください。%ワイルドカードを使用すると、任意のホストからの接続が許可されます。セキュリティを強化するには、 % 、Databricks が接続に使用する特定の IP 範囲またはホスト名に置き換えます。

必要な権限

レプリケーション ユーザーに次の権限を付与します。

権限

説明

REPLICATION SLAVE

バイナリ ログを読み取り、変更を追跡するために必要です。

REPLICATION CLIENT

レプリケーションのステータスとメタデータにアクセスするために必要です。

SELECT(plugin, user) mysql.userテーブル

認証プラグインを検証するために必要です。mysql.userテーブルに対してSELECT(plugin, user)または完全なSELECTのいずれかを付与できます。

SELECT ターゲットデータベースとテーブル

初期スナップショットとテーブル メタデータを読み取るために必要です。

助成金に関する声明

必要な権限を付与するには、次の SQL コマンドを実行します。

SQL
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'lakeflow_connect_user'@'%';

GRANT SELECT(plugin,user) ON mysql.user TO 'lakeflow_connect_user'@'%';

-- Grant select privilege on all user tables
GRANT SELECT ON *.* TO 'lakeflow_connect_user'@'%';

FLUSH PRIVILEGES;

ユーザー権限を確認する

ユーザーに正しい権限があることを確認するには、次のコマンドを実行します。

SQL
SHOW GRANTS FOR 'lakeflow_connect_user'@'%';

出力には次のものが含まれます。

SQL
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'lakeflow_connect_user'@'%'
GRANT SELECT (`plugin`, `user`) ON `mysql`.`user` TO 'lakeflow_connect_user'@'%'
GRANT SELECT ON *.* TO 'lakeflow_connect_user'@'%'

次のステップ

レプリケーション ユーザーを作成したら、MySQL サーバーを binlog レプリケーション用に構成します。構成ステップは、デプロイメントのタイプによって異なります。