それぞれのスレーブは MySQL のユーザー名とパスワードを使用してマスターに接続するため、スレーブが接続に使用できるユーザーアカウントがマスター上になければいけません。この操作には、REPLICATION SLAVE
権限が付与されているすべてのアカウントを使用できます。スレーブごとに異なるアカウントを作成したり、各スレーブに同じアカウントを使用してマスターに接続したりすることを選択できます。
レプリケーション用に特別にアカウントを作成する必要はありませんが、レプリケーションのユーザー名とパスワードはマスターの情報リポジトリファイルまたはテーブルにプレーンテキストで格納されていることを確認してください (セクション17.2.2.2「スレーブステータスログ」を参照してください)。このため、ほかのアカウントのセキュリティーを損なう可能性を最小限に抑えるため、レプリケーションプロセスにのみ権限を持つ別のアカウントを作成することをお勧めします。
新しいアカウントを作成するには、CREATE USER
を使用します。レプリケーションに必要な権限をこのアカウントに付与するには、GRANT
ステートメントを使用します。レプリケーションの目的にだけアカウントを作成する場合、そのアカウントには REPLICATION SLAVE
権限だけが必要です。たとえば、mydomain.com
ドメイン内のホストからレプリケーションのために接続できる新しいユーザー repl
をセットアップするには、マスター上で次のステートメントを発行します。
mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';
ユーザーアカウントを操作するためのステートメントの詳細については、セクション13.7.1「アカウント管理ステートメント」を参照してください。