技術情報

MatomoでMySQLのスロークエリログを有効にするには?

MySQLのスロー・クエリ・ログを有効にするには、MySQL設定ファイルを編集する必要がある。MySQL設定ファイルの場所はオペレーティング・システムによって異なります。MySQLはそれぞれの場所を順番に調べ、最初に見つかったファイルを使用します。Linux
では、MySQL はこのリストの最初に見つかった設定ファイルをロードします:

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • $MYSQL_HOME/my.cnf

設定ファイルmy.cnf[mysqld]の下に以下の設定オプションを追加する:

[mysqld]
    # Threshold in seconds for a slow query to be logged
    long_query_time=10
    # Where to log the slow queries
    slow_query_log_file=/var/log/mysql/mysql-slow.log
    # Enable slow query logging
    slow-query-log=1
    

MySQLサーバーを再起動すると、3秒以上かかる低速のクエリは/var/log/mysql/mysql-slow.logに記録されます。

遅いクエリーログファイルを分析するときが来たら、mysqldumpslowというツールを使います。例えば、平均クエリ時間でソートされたトップ10クエリを取得するには、次のように入力します:

$ mysqldumpslow -t 10 mysql-slow.log > mysqldumpslow.out