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

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 ターゲットデータベースとテーブル

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

権限

説明

REPLICATION SLAVE

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

REPLICATION CLIENT

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

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

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

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

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

Grant文​

必要な権限を付与するには、次の 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 レプリケーション用に構成します。構成ステップは、デプロイメントのタイプによって異なります。