mysql のスロークエリログとは何ですか?定義: mysql が提供するログ機能。対応する時間が long_query_time 値を超える SQL ステートメントをログに記録します。long_query_time のデフォルト値は 10 秒です。
1. スローログ機能のステータスを確認します。
show variables like '%slow_query_log%';
OFF は、スローログ機能が DESKTOP-2331B4V に保存されていることを示します。 -slow.log ファイルは、ユーザーの名前です。
2.スローログ機能をオンにする
set global slow_query_log=1;
次に、スローログのステータスを確認します
ステータスがONになっている、つまりスローログ機能がオンになっています。
3. デフォルトのlong_query_time時間を確認します
long_query_timeは10秒です。これは、10秒を超えるSQステートメントがスローログに記録されることを意味します。
4. long_query_time の期間を設定します。デフォルトの 10 秒は長すぎます
set global long_query_time=3;
ウィンドウ システムの場合は、再度 cmd を入力します (セッション内で long_query_time の期間をクエリする場合は注意してください)。 long_query_time が設定されていますが、まだデフォルトの 10 秒なので、セッションを再起動する必要があります) で、再度 long_query_time をクエリします
5. シミュレーションに時間がかかる SQL
この SQL ステートメントは、クエリに 5 秒かかったということを意味します。設定されたlong_query_timeを超えています。次に
DESKTOP-2331B4V-slow.log日志,内容如下: MySQL, Version: 5.5.60 (MySQL Community Server (GPL)). started with: TCP Port: 3306, Named Pipe: MySQLTime Id Command Argument # Time: 180729 12:52:29# User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 5.005746 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0SET timestamp=1532839949;select sleep(5);
を開くと、タイムアウト SQL がスロー ログに書き込まれていることがわかります。
スローログが多い場合は、スローログのエントリ数をクエリすることもできます
6. 設定
上記の例は、データベースが再起動されると、設定が無効になります。再起動後も構成を有効なままにしたい場合は、my.ini の下の [mysqld] に構成コマンドを追加できます:
slow_query_log=1slow_query_log_file=d:/mysql/my.loglong_query_time=3long_output=FILE
関連記事:
mysqldumpslow と mysqlsla を使用して、 mysql スロー クエリ ログを分析する
関連ビデオ:
MySQL データ管理のバックアップとリカバリのケース分析ビデオ チュートリアル
以上がmysql スロークエリログ: mysql が提供するログ機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。