ホームページ  >  記事  >  データベース  >  MySQL スロークエリログを有効にする方法

MySQL スロークエリログを有効にする方法

PHPz
PHPzオリジナル
2023-04-20 10:11:571626ブラウズ

遅いクエリとは、実行時間がスケジュールされた時間と比較してスケジュールされた時間を超える SQL ステートメントを指します。遅いクエリが時間内に削除されないと、サーバー上のデータベースの実行パフォーマンスに大きな影響が出る可能性があります。したがって、実稼働環境で MySQL スロー クエリ ログを有効にすることが非常に重要です。

MySQL スロー クエリ ログは、パフォーマンスが低下しているクエリに関する詳細情報を公開するのに役立ちます。実稼働環境でのパフォーマンスの問題を診断して解決するときに非常に役立ちます。この記事では、MySQLのスロークエリログを有効にする方法を詳しく紹介します。

ステップ 1: MySQL スロー クエリ ログのデフォルト パスを確認する

MySQL スロー クエリ ログのデフォルト パスを確認する必要があります。 Linux システムでは、MySQL スロー クエリ ログは /var/lib/mysql/hostname-slow.log ファイルに保存されます。

ステップ 2: MySQL 構成ファイル my.cnf を編集する

MySQL スロー クエリ ログを有効にするには、MySQL 構成ファイルを編集する必要があります。 my.cnf ファイルは /etc/mysql/ ディレクトリにあります。

vim エディタを使用して my.cnf ファイルを開きます。

$ sudo vim /etc/mysql/my.cnf

ステップ 3: 次の内容を my.cnf ファイルに追加します。

次の内容をファイルの末尾に追加します。

slow_query_log = 1
slow_query_log_file = /var/lib/mysql/ hostname-slow.log
long_query_time = 2

上記の構成では、

  • slow_query_log は、MySQL スロー クエリ ログを有効または無効にするために使用されるスイッチ変数です。これを 1 に設定すると、MySQL の低速クエリ ロギングが有効になります。
  • slow_query_log_file は、MySQL スロー クエリ ログ ファイルの場所と名前を指定するために使用されます。
  • long_query_time は、クエリが遅いクエリであるとみなされるまでに必要な時間を指定する整数です。この例では、2 秒に設定します。つまり、実行時間が 2 秒を超えると、遅いクエリとして記録されます。

my.cnf ファイルを編集した後、ファイルを保存して閉じます。

ステップ 4: MySQL サービスを再起動する

MySQL サービスを再起動して、my.cnf ファイルの変更を有効にします。

$sudo service mysql restart

ステップ 5: MySQL スロー クエリ ログを確認する

MySQL スロー クエリ ログを確認するには、次のコマンドを入力します。

mysql> SHOW GLOBAL VARIABLES LIKE 'slow_query_log';

MySQL スロー クエリ ログが有効になっている場合結果は次のとおりです。

+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON    |
+----------------+-------+

次のコマンドを使用して、スロー クエリ ログ ファイルを確認できます。

$ sudo cat /var/lib/mysql/ hostname-slow.log

クエリが long_query_time を超えた場合、ファイルに記録されます。

結論

MySQL スロー クエリ ログを有効にすると、クエリ実行時間に関する詳細な情報が得られます。これは、内部運用システムのパフォーマンス問題の診断と解決に非常に役立ちます。この記事では、Linux システムで MySQL スロー クエリ ログを有効にする方法を紹介します。 MySQL スロー クエリ ログを有効にする前に、必ずテスト環境でテストし、この機能が運用データベースに悪影響を及ぼさないことを確認するために十分なテストを行ってください。

以上がMySQL スロークエリログを有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。