• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

詳細なインサイトを有効にする

|View as Markdown (English)

MySQLインスタンスに関するより深いインサイトを得るために、以下のオプションを設定できます:

特定のデータベースをモニターする

デフォルトでは、レシーバーの設定から database フィールドは省略されており、レシーバーは監視ユーザーがアクセスできるすべてのデータベースをモニターします。監視を単一のスキーマに制限するには、database をそのスキーマの名前に設定します:

receivers:
nrmysql:
endpoint: <YOUR_HOST>:<YOUR_PORT>
username: <YOUR_DB_USERNAME>
password: <YOUR_DB_PASSWORD>
database: <YOUR_DATABASE_NAME>
collection_interval: 30s

TLSを有効にする

tls フィールドはオプションですが、これを省略することはTLSを明示的に無効にすることと同じではありません:レシーバーのデフォルト設定では insecure: true が設定されるため、tls を設定しない限り、接続は暗号化されません。ほとんどのAmazon RDSおよびAuroraインスタンスはSSL/TLSを強制するため、通常、これらの環境にはこのブロックを追加する必要があります。

receivers:
nrmysql:
endpoint: <YOUR_HOST>:<YOUR_PORT>
username: <YOUR_DB_USERNAME>
password: <YOUR_DB_PASSWORD>
collection_interval: 30s
tls:
insecure: false
insecure_skip_verify: false
ca_file: <PATH_TO_CA_CERTIFICATE>

ヒント

Amazon RDS/Auroraの場合は、適切なRDS CA証明書バンドルをダウンロードし、ca_fileで参照してください。insecure_skip_verify: trueは、自己署名証明書を使用するインスタンスに対するテストでのみ設定し、本番環境では絶対に設定しないでください。

書き込みステートメントのクエリプラン

explain_modeをprocedureに設定すると、監視ユーザーにDML権限を付与することなく、NRDOT Collectorが書き込みステートメントのEXPLAINプランを収集できるようになります。設定すると、レシーバーは<schema>.explain_statementという名前のSQL SECURITY DEFINERプロシージャを検索します。そのプロシージャが存在しない場合、または監視ユーザーにその実行権限がない場合、レシーバーはinlineモードにフォールバックします。この状態では、書き込みステートメントはクエリプランの収集に失敗し、コレクターのログに次の警告が表示されます:unable to execute explain statement。

explain_modeをprocedureに設定するには、特権アカウント(たとえば、root)として、スキーマごとに1回以下を実行してください:

DELIMITER //
CREATE DEFINER = 'root'@'%' PROCEDURE <YOUR_SCHEMA>.explain_statement(IN q TEXT)
SQL SECURITY DEFINER
BEGIN
SET @nr_explain_sql = CONCAT('EXPLAIN FORMAT=JSON ', q);
PREPARE nr_explain_stmt FROM @nr_explain_sql;
EXECUTE nr_explain_stmt;
DEALLOCATE PREPARE nr_explain_stmt;
END//
DELIMITER ;
GRANT EXECUTE ON PROCEDURE <YOUR_SCHEMA>.explain_statement TO '<YOUR_DB_USERNAME>'@'%';

GRANT EXECUTEステップは、CALLステートメントを実行する以上の目的で必要です。この権限がないと、監視ユーザーはレシーバーが存在確認に使用するinformation_schema.ROUTINES内のプロシージャを表示できません。GRANT EXECUTEを省略すると、プロシージャが欠落している場合と同じ結果になり、どちらの場合もレシーバーはinlineモードにフォールバックします。

ヒント

この設定はスキーマごとにステートフルです。データベースの作成または復元、あるいはプロシージャの削除を行うと、そのスキーマの書き込みステートメントのプラン収集が暗黙的に無効になり、inlineモードへのフォールバックがトリガーされます。SQL SECURITY DEFINERストアドルーチンは、その中のPREPARE/EXECUTEステートメントを通じて実行される動的SQLに、定義者の権限を適用します。これにより、SELECTのみの監視ユーザーが、直接の実行権限を持たないステートメントのプランを取得できるようになります。

ロック待機時間の追跡の有効化

events_waits_currentの消費者はロック待機時間情報を提供しますが、プラットフォーム固有の設定が必要です:

プラットフォーム

方法

再起動後も永続しますか?

セルフマネージドMySQL

performance-schema-consumer-events-waits-current=ON

[mysqld]

(

my.cnf

)で

はい

AWS RDS

UPDATE performance_schema.setup_consumers SET ENABLED='YES' WHERE NAME='events_waits_current';

いいえ

: 再起動またはフェイルオーバー時にリセットされます。再起動のたびに再実行するか、再接続時に消費者を自動的に再有効化できるように、レシーバーユーザーにこの

UPDATE

を付与します。

互換性と前提条件

サポートされているMySQLのバージョン、ネットワーク要件、および推奨されるサーバーパラメーターについて確認してください。

セルフホスト環境での計装

New Relicを使用してセルフホスト環境でMySQL監視を設定する方法について説明します。

RDS環境での計装

New Relicを使用してRDS環境でMySQL監視をセットアップする方法について説明します。

Copyright © 2026 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.