MySQL サーバを監視するようにエージェントを設定するには、そのサーバのエージェントのユーザアカウントがあることを確認する必要があります。
このユーザアカウントに必要な権限は、MySQL Enterprise Service Agent を使用して収集する情報により異なります。次の権限は、Service Agent が、割り当てられたタスクを制限なしに実行できるように許可します。
SHOW DATABASES
:MySQL Enterprise Service Agent
は、監視対象 MySQL
サーバの情報を収集できます。
REPLICATION CLIENT
:MySQL Enterprise Service Agent
は、レプリケーションマスタ/スレーブのステータスデータを収集できます。この権限が必要なのは、MySQL
レプリケーションアドバイザルールが適用される場合のみです。
SELECT
:MySQL Enterprise Service Agent
は、テーブルオブジェクトの統計情報を収集できます。
SUPER
:MySQL Enterprise Service Agent は、InnoDB
テーブルのデータを収集するために
SHOW ENGINE INNODB STATUS
を実行できます。
PROCESS
:MySQL 5.1.24
以上を実行する MySQL サーバを
InnoDB
で監視する場合、SHOW ENGINE INNODB
STATUS
を実行するために、PROCESS
権限が必要です。
INSERT
:エージェントにより要求される
UUID を作成するときに必要です。
CREATE
:MySQL Enterprise Service Agent
はテーブルを作成できます。検出中、エージェントは、サーバの
UUID に使用される inventory
テーブルを mysql
データベース内に作成します。このテーブルがない場合、エージェントはサーバの
UUID を判別できないため、情報を MySQL Enterprise Service Manager
に送信するときにこのサーバを使用できません。
たとえば、次の GRANT
ステートメントは、必要な SELECT
権、REPLICATION CLIENT
権、SHOW
DATABASES
権、SUPER
権をエージェントに付与します。
GRANT SELECT, REPLICATION CLIENT, SHOW DATABASES, SUPER, INSERT, PROCESS ON *.* TO 'mysqluser
'@'localhost
' IDENTIFIED BY 'agent_password
';
セキュリティのため、CREATE
権限および INSERT
権限のみをエージェントに付与して、mysql
データベース内でのテーブル作成のみを許可できます。
GRANT CREATE, INSERT ON mysql.* TO 'mysqluser
'@'localhost
' IDENTIFIED BY 'agent_password
';
一般的な設定では、エージェントは監視対象の
MySQL
サーバと同じマシンで実行するため、ホスト名は
localhost
になります。ただし、エージェントが、監視対象
MySQL
サーバをホストするマシンとは異なるマシンで実行している場合、このホスト名は変わります。この場合、localhost
を適切な値に変更してください。リモート監視の詳細については、項2.6.3. 「リモート MySQL Server
を監視するようにエージェントを設定する」を参照してください。