MySQL 8.0 リファレンスマニュアル


17.1.2.3 レプリケーション用ユーザーの作成

各レプリカは MySQL のユーザー名とパスワードを使用してソースに接続するため、レプリカが接続に使用できるユーザーアカウントがソースに存在する必要があります。 ユーザー名は、レプリカの設定時に、CHANGE REPLICATION SOURCE TO ステートメント (MySQL 8.0.23 から) または CHANGE MASTER TO ステートメント (MySQL 8.0.23 から) の SOURCE_USER | MASTER_USER オプションによって指定されます。 この操作には、REPLICATION SLAVE 権限が付与されているすべてのアカウントを使用できます。 レプリカごとに異なるアカウントを作成することも、レプリカごとに同じアカウントを使用してソースに接続することもできます。

レプリケーション専用のアカウントを作成する必要はありませんが、レプリケーションユーザー名とパスワードはレプリカ接続メタデータリポジトリ mysql.slave_master_info にプレーンテキストで格納されることに注意してください (セクション17.2.4.2「レプリケーションメタデータリポジトリ」 を参照)。 このため、ほかのアカウントのセキュリティーを損なう可能性を最小限に抑えるため、レプリケーションプロセスにのみ権限を持つ別のアカウントを作成することをお勧めします。

新しいアカウントを作成するには、CREATE USER を使用します。 レプリケーションに必要な権限をこのアカウントに付与するには、GRANT ステートメントを使用します。 レプリケーションの目的にだけアカウントを作成する場合、そのアカウントには REPLICATION SLAVE 権限だけが必要です。 たとえば、example.com ドメイン内の任意のホストからレプリケーション用に接続できる新しいユーザー repl を設定するには、ソースで次のステートメントを発行します:

mysql> CREATE USER 'repl'@'%.example.com' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.example.com';

ユーザーアカウントを操作するためのステートメントの詳細については、セクション13.7.1「アカウント管理ステートメント」を参照してください。

重要

caching_sha2_password プラグインで認証するユーザーアカウントを使用してソースに接続するには、セクション17.3.1「暗号化接続を使用するためのレプリケーションの設定」 の説明に従ってセキュアな接続を設定するか、RSA キーペアを使用したパスワード交換をサポートするように暗号化されていない接続を有効にする必要があります。 caching_sha2_password 認証プラグインは、MySQL 8.0 から作成された新規ユーザーのデフォルトです (詳細は、セクション6.4.1.2「SHA-2 プラガブル認証のキャッシュ」 を参照)。 (MASTER_USER オプションで指定された) レプリケーション用に作成または使用するユーザーアカウントがこの認証プラグインを使用し、セキュアな接続を使用していない場合は、接続を成功させるために RSA 鍵ペアベースのパスワード交換を有効にする必要があります。


関連キーワード:  ソース, アカウント, ステートメント, 接続, ベース, 設定, バイナリ, 作成, ユーザー, GTID