GNU/Linux >> Linux の 問題 >  >> Cent OS

MySQLの低速クエリログを有効にする方法

このチュートリアルでは、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サイトを確認してください。


Cent OS
  1. CentOS / RHEL 7 :ユーザーのグループに対して telnet を有効にする方法

  2. CentOS / RHEL :Apache の SSL を有効にする方法

  3. VSFTPD の詳細ログを有効にする方法

  1. CentOS/RHEL 6,7 の Rsyslog でデフォルトのログ ディレクトリ (/var/log) を変更する方法

  2. MySQL Enterprise パッケージのローカル Yum リポジトリを作成する方法

  3. テスト用の MySQL Docker コンテナを作成する方法

  1. MySQL内でプロセスを停止する方法

  2. MySQL/MariaDBクエリログを有効にする方法

  3. mysql にログインして Linux ターミナルからデータベースにクエリを実行する方法