MySQL を実行している Amazon RDS インスタンスで GoSH を設定するにはどうすればよいですか?

所要時間1分
0

MySQL を実行している Amazon Relational Database Service (Amazon RDS) インスタンスがあります。RDS DB インスタンスでグローバルステータス履歴 (GoSH) をオンにして設定したいと考えています。どうすればよいですか?

簡単な説明

GoSH を使用して、Amazon RDS for MySQL でさまざまなステータス変数の履歴を管理できます。まず、GoSH を使用する前にイベントスケジューラをオンにする必要があります。次に、GoSH を特定の間隔で実行し、定期的にテーブルをローテーションするように変更できます。デフォルトでは、GoSH 情報は 5 分ごとに収集され、mysql.rds_global_status_history テーブルに保存され、テーブルは 7 日ごとにローテーションされます。

解決策

1.    インスタンスにアタッチされているカスタム DB パラメータグループ を変更して、event_schedulerONに設定します。

2.    DB インスタンスにログインし、次のコマンドを実行します。

SHOW PROCESSLIST;
SHOW GLOBAL VARIABLES LIKE 'event_scheduler';

3.    このコマンドを実行して、GoSH をオンにします。

CALL mysql.rds_enable_gsh_collector;

4.    監視間隔を 1 分に変更するには、このコマンドを実行します。

CALL mysql.rds_set_gsh_collector(1);

5.    次のコマンドを実行して、GoSH テーブルのローテーションをオンにします。

CALL mysql.rds_enable_gsh_rotation;

6.    次のコマンドを実行して、ローテーションを変更します。

CALL mysql.rds_set_gsh_rotation(5);

GoSH テーブルにクエリを実行して、特定の操作に関する情報を取得します。たとえば、次のクエリでは、インスタンス上で1 分ごとに実行されるデータ操作言語 (DML) 操作の数に関する詳細が表示されます。

SELECT collection_start, collection_end, sum(value) AS 'DML Queries Count' from (select collection_start, collection_end, "INSERTS" as "Operation", variable_Delta as "value" from mysql.rds_global_status_history  where variable_name = 'com_insert' union select collection_start, collection_end, "UPDATES" as "Operation", variable_Delta as "value" from mysql.rds_global_status_history  where variable_name = 'com_update' union select collection_start, collection_end, "DELETES" as "Operation", variable_Delta as "value" from mysql.rds_global_status_history  where variable_name = 'com_delete') a group by 1,2;

注: このクエリは MySQL 8.0 には適用されません


関連情報

MySQL DB インスタンスの一般的な DBA タスク

グローバルステータス履歴の管理

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ