2.2. MySQL サーバーの設定

2.2.1. Debezium の MySQL ユーザーの作成

Debezium MySQL コネクターが監視するすべてのデータベースで適切なパーミッションを持つ MySQL ユーザーを定義する必要があります。

前提条件

  • MySQL サーバーが必要です。
  • 基本的な SQL コマンドを知っている必要があります。

手順

  1. MySQL ユーザーを作成します。
mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
  1. 必要なパーミッションをユーザーに付与します。
mysql> GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user' IDENTIFIED BY 'password';
ヒント

パーミッションに記載 されているパーミッションについて参照してください。

重要

グローバル読み取りロックを許可しないホストオプションや Amazon Aurora などのホストオプションを使用している場合、 テーブルレベルのロックを使用して 一貫したスナップショット を作成します。この場合、作成するユーザーに LOCK_TABLES パーミッションを付与する必要もあります。詳細は、「 MySQL コネクターの仕組みの概要 」を参照してください。

  1. ユーザーのパーミッションを確定します。
mysql> FLUSH PRIVILEGES;

2.2.1.1. 権限の説明

permission/item説明

SELECT

コネクターがデータベースのテーブルから行を選択できるようにします。

注記

これは、スナップショットを実行する場合にのみ使用されます。

RELOAD

FLUSH ステートメントの使用がコネクターで有効化され、内部キャッシュ、フラッシュテーブル、ロックの取得が可能になります。

注記

これは、スナップショットを実行する場合にのみ使用されます。

SHOW DATABASES

SHOW DATABASE ステートメントを発行して、コネクターがデータベース名を表示することを有効にします。

注記

これは、スナップショットを実行する場合にのみ使用されます。

REPLICATION SLAVE

コネクターが MySQL サーバー binlog に接続し、読み込めるようにします。

REPLICATION CLIENT

コネクターが以下のステートメントを使用できるようにします。

  • SHOW MASTER STATUS
  • SHOW SLAVE STATUS
  • SHOW BINARY LOGS
重要

これは必ずコネクターに必要です。

ON

パーミッションが適用される データベース を特定します。

TO 'user'

パーミッションが付与される ユーザー を指定します。

IDENTIFIED BY 'password'

ユーザーの パスワード を指定します。