この記事では、MySQLの低速クエリログを有効にする方法について説明します。遅いクエリログを使用して、実行に時間がかかるデータベースクエリを特定できます。
この記事は、記事の詳細に記載されている製品にのみ適用されます サイドバー。これらの手順を実行するには、サーバーへのルートアクセス権が必要です。マネージドVPSまたはマネージド専用サーバーがあり(ルートアクセスがない)、低速クエリログを有効にしたい場合は、カスタマーポータル(https://my.a2hosting.com)でチケットを開いてください。クエリが遅いと、データベースのパフォーマンスとサーバー全体のパフォーマンスに影響を与える可能性があります。 MySQLの低速クエリログ機能を使用すると、事前定義された制限時間を超えるクエリをログに記録できます。これにより、非効率的または時間のかかるクエリを見つけるタスクが大幅に簡素化されます。
MySQLで低速クエリログを有効にするには、次の手順に従います。
- SSHを使用してサーバーにログインします。
- コマンドラインで、次のコマンドを入力します。
mysql -u root -p
- MySQLのルートパスワードを入力します。
-
低速クエリログを有効にするには、mysql>プロンプトで次のコマンドを入力します。
SET GLOBAL slow_query_log = 'ON';
-
遅いクエリログに設定できる追加のオプションがあります。
- デフォルトでは、低速クエリログが有効になっている場合、実行に10秒以上かかるクエリがログに記録されます。この間隔を変更するには、 X を置き換えて、次のコマンドを入力します 秒単位の時間:
SET GLOBAL long_query_time = X;
-
デフォルトでは、低速クエリログファイルは /var/lib/mysql/hostname-slow.logにあります。 。ログパスまたはファイル名を変更するには、 path を置き換えて、次のコマンドを入力します ファイルへのパスとファイル名 ログファイル名の名前:
SET GLOBAL slow_query_log_file = '/path/filename';
- デフォルトでは、低速クエリログが有効になっている場合、実行に10秒以上かかるクエリがログに記録されます。この間隔を変更するには、 X を置き換えて、次のコマンドを入力します 秒単位の時間:
-
遅いクエリログが正しく機能していることを確認するには、 mysqlからログアウトします。 プログラムを実行してから、再度ログインします(これにより、 mysqlのセッション変数が再ロードされます。 プログラム。) X を置き換えて、次のコマンドを入力します。 long_query_timeより大きい値を使用する 設定:
SELECT SLEEP(X);
遅いクエリログファイルには、クエリに関する情報が含まれている必要があります。
- 引き続き低速のクエリログファイルを監視して、実行に時間がかかるクエリを確認します。
-
トラブルシューティングが完了したら、低速クエリログを無効にします。これを行うには、 mysqlを実行します もう一度プログラムしてから、次のコマンドを入力します。
SET GLOBAL slow_query_log = 'OFF';
パフォーマンスの問題のトラブルシューティングが必要な場合にのみ、低速クエリログを有効にする必要があります。
MySQLの低速クエリログの詳細については、https://dev.mysql.com/doc/refman/5.5/en/slow-query-log.htmlにアクセスしてください。