このチュートリアルでは、LinuxシステムでMySQLの低速クエリログを有効にする方法を示します。MySQLには、SQLクエリをファイルに記録できる機能が組み込まれています。完全なSQLクエリログをファイルに有効にするか、実行速度の遅いクエリログのみを有効にします。SQLクエリログを有効にすると、SQLステートメントのトラブルシューティング/デバッグが簡単になります。低速クエリログは、実行に時間がかかるクエリを見つけるために使用されます。したがって、最適化の候補になります。管理者権限でLinuxシステムにMySQLがすでにインストールされていること、およびMySQLについての知識が少しあることを前提としています。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudo
を追加する必要があります。 ルート権限を取得するコマンドに‘。 MySQLの低速クエリログを段階的に有効にする方法を説明します。
前提条件
- 次のオペレーティングシステムのいずれかを実行しているサーバー:CentOSLinux。
- 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
- サーバーへのSSHアクセス(またはデスクトップを使用している場合はターミナルを開く)
non-root sudo user
またはroot user
へのアクセス 。non-root sudo user
として行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。
MySQLの低速クエリログを有効にする
ステップ1.まず、システムが最新であることを確認することから始めましょう。
sudo dnf clean all sudo dnf update
ステップ2.MySQLサーバーを構成します。
次に、/etc/my.cnf
を編集します。 お気に入りのテキストエディタでファイルします。
nano /etc/my.cnf
my.cnf
を取得したら ファイルを開いたら、「[mysqld]
」の下に次の行を追加します 」セクション。
[mysqld] log-slow-queries log-slow-queries= /var/log/mysql/slow-queries.log long_query_time=5
ファイルを保存して閉じ、ファイルslow-queries.logを作成します。パスを定義する限り、任意の場所にファイルを配置できます。 my.cnf
で 。
touch /var/log/mysql/slow-queries.log chown mysql.mysql /var/log/mysql/slow-queries.log
最後に、MySQLサービスを再起動します。次のコマンドを入力します。
sudo systemctl restart mysql
手順3.低速ログクエリを確認します。
正常に構成されたら、「slow_query_log
」を確認します 」パラメータ(「ON」である必要があります):
mysql> show variables like '%slow%'; +---------------------+--------------------------------+ | Variable_name | Value | +---------------------+--------------------------------+ | log_slow_queries | ON | | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /var/lib/mysql/mysqld-slow.log | +---------------------+--------------------------------+ 4 rows in set (0.00 sec)
次に、パラメータ「long_query_time
」を確認します。 」、5秒の時間が必要です:
mysql> show variables like '%long%'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | long_query_time | 5.000000 | | max_long_data_size | 1048576 | +--------------------+----------+ 2 rows in set (0.00 sec)
おめでとうございます!MySQLで低速クエリログを有効にしました。このチュートリアルを使用して、LinuxシステムでMySQLの低速クエリログを有効にしていただきありがとうございます。追加のヘルプや役立つ情報については、お勧めします。 MySQLの公式Webサイトを確認してください。