sql >> データベース >  >> RDS >> Mysql

AWSRDSMySQLで低速クエリログを有効にする方法

    このブログでは、AWSRDSMySQLで低速クエリログを有効にする方法について説明します。手順を開始する前に、遅いクエリログとは何か、なぜそれが必要なのか、そしてそれをどのように使用するのかを理解しましょう。

    遅いクエリログは、データベースで実行するのに時間がかかるすべてのクエリをトラブルシューティングまたは特定する場合、およびDBインスタンスでCPU負荷が急上昇するために必要です。

    DaaS(サービスとしてのデータベース)と呼ばれるAWS RDSクラウドサービスであるため、OSレベルにアクセスすることはできません。そのために、AWS RDSは、Amazon RDSコンソール、Amazon RDS API、Amazon RDS CLI、またはAWS SDKを介して、低速クエリログを直接有効/無効および監視できるDBパラメーター構成を提供します。

    AWSRDSMySQLで低速クエリログを有効にする方法

    MySQLインスタンス用に作成したDBパラメータグループにパラメータを設定することで、低速のクエリログを生成できます。

    AWSは、デフォルトのバイナリロギングフォーマットを混合として提供しています。ロギング形式として行ベースに変更できます。 Amazon RDSは、MySQLバージョン5.6の行ベースと混合バイナリロギングフォーマットの両方をサポートします。

    デフォルトのDBパラメータグループのパラメータ設定を変更することはできません。このデフォルトのグループはAWSによって作成されます。パラメータ設定をデフォルト値から変更するには、独自のDBパラメータグループを作成する必要があります。

    MySQLインスタンスの新しいDBパラメータグループを作成する手順

    ステップ1:AWSマネジメントコンソールにサインインし、AmazonRDSコンソールを開きます

    ステップ2:ナビゲーションペインで、[パラメータグループ]を選択します。

    ステップ3:パラメータグループの作成を選択します。 [パラメータグループの作成]ウィンドウが表示されます。

    ステップ4:パラメータグループファミリを選択します。

    手順5:[グループ名]に、新しいDBパラメータグループの名前を入力します。

    手順6:[説明]に、新しいDBパラメータグループの説明を入力します。

    ステップ7:作成を選択します。

    DBパラメータグループを変更する手順

    ステップ1:DBパラメータグループに移動

    ステップ2:変更するパラメータグループを選択します。

    ステップ3:パラメータの編集を選択する

    ステップ4:Slow_Query_logを検索し、値1を入力します— Slow_query_log =1(デフォルトは0またはログなし)

    ステップ5:Long_query_time =2。これにより、実行に2秒以上かかるクエリがログに記録されます。

    手順6:[変更を保存]を選択します。

    RDSDBインスタンスを新規または変更されたDBパラメータグループに関連付けます

    1. ナビゲーションペインで、[インスタンス]を選択します。
    2. DBパラメータグループに関連付けるDBインスタンスを選択します。
    3. [インスタンスアクション]メニューで、[変更]を選択します。
    4. [DBインスタンスの変更]ダイアログボックスの[データベースオプション]で、DBインスタンスに関連付けるパラメータグループを選択します。
    5. インスタンスを再起動して変更を適用します。
    この設定を変更しても、停止は発生しません。パラメータグループ名はすぐに変更されますが、実際のパラメータの変更は、フェイルオーバーせずにインスタンスを再起動するまで適用されません。

    ファイルに書き込まれるRDSMySQLログを表示する方法

    1. AWS管理コンソールにログインし、Amazon RDSコンソール(https://console.aws.amazon.com/rds/)を開きます。
    2. ナビゲーションペインで、[インスタンス]を選択します。
    3. 表示するログファイルがあるDBインスタンス名の横にある詳細アイコンを選択します。
    4. [DBインスタンスの詳細]ページで、[最近のイベントとログ]ビューを開きます。
    5. 表示するログについては、[表示]を選択します。
    6. DBインスタンスのリストに戻るには、[閉じる]を選択してから、ページの上部にある[DBインスタンス]を選択します。

    ログテーブルに直接クエリを実行して、MySQLログがTABLEに書き込まれているかどうかを確認します。

    Select * from mysql.slow_log
    Select * from mysql.general_log
    ログテーブルは、それぞれのログアクティビティがオフになるまで増え続けます。テーブルロギングを有効にすると、データベースに書き込まれるデータの量が増え、パフォーマンスが低下する可能性があります。

    これでチュートリアルは終了です。AWSRDSMySQLで低速クエリログを有効にする方法を説明しました。


    1. SQL Server(T-SQL)でテーブルの名前を変更する

    2. SQL Server文字列関数(完全なリスト)

    3. ::PostgreSQLでは何をしますか?

    4. PostgreSQLのクロステーブル制約