MySQL の通常のクエリ ログとスロー クエリ ログの違い
はじめに
<br/>
<br/>
以前の共有では、MySQL ログ タイプはエラー ログ (error_log)、クエリ ログ (query_log)、バイナリ ログ (binary_log) の 3 つのタイプに分類できると述べました。 error_log の使用法については、MySQL ログ error_log を参照してください。この記事では主に、general_log と throw_query_log の原理と使用法を紹介します。
一般クエリ ログ
一般クエリ ログ (general_log) は、主に、各クライアントがデータベースに接続する際、およびデータベース上で実行される SQL ステートメントの関連情報をクエリするために使用されます。設定方法は次のとおりです。
1.一般クエリ ログが有効かどうかを確認し、パスを保存します:
mysql> show variables like "general_log%"; +------------------+------------------------------+| Variable_name | Value | +------------------+------------------------------+| general_log | OFF | | general_log_file | /var/lib/mysql/localhost.log | +------------------+------------------------------+ 2 rows in set (0.00 sec)
画面出力 general_log
と general_log_file
には、現在のスイッチ ステータスと一般クエリ ログのパスが記録されます。 general_log
和general_log_file
记录了当前通用查询日志的开关状态与路径。
2、开启通用查询日志
set global general_log = ON
查询是否成功:
mysql> show variables like "general_log%"; +------------------+------------------------------+| Variable_name | Value | +------------------+------------------------------+| general_log | ON | | general_log_file | /var/lib/mysql/localhost.log | +------------------+------------------------------+ 2 rows in set (0.00 sec)
成功。
退出一下看有没有生成并且正确记录:
[root@localhost ~]# cat /var/lib/mysql/localhost.log /usr/sbin/mysqld, Version: 5.7.19 (MySQL Community Server (GPL)). started with: Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock Time Id Command Argument 2017-08-14T09:33:11.364650Z 5 Quit 2017-08-14T09:33:20.671113Z 6 Connect root@localhost on using Socket 2017-08-14T09:33:20.671323Z 6 Query select @@version_comment limit 1 2017-08-14T09:33:22.964610Z 6 Query show variables like '%log%' 2017-08-14T09:33:24.574224Z 6 Quit
成功,并且我们可以看到,log不仅记录了SQL命令,同时也包括了执行时间、Id、命令类型等相关数据
慢查询日志
慢查询日志记录了SQL语句时间超过了预设的long_query_time的语句,在数据量较大的情况下,可以看看慢查询日志中有哪些语句需要进行优化。
1、慢查询日志的配置
慢查询日志的配置可以在数据库配置文件my.cnf
中查到:
[root@localhost ~]# cat /etc/my.cnf | grep -E 'long|slow|not_using_indexes'long_query_time = 1#log-slow-queries = /var/log/mysql/slow.loglog_queries_not_using_indexes
可以看到:
long_query_time = 1
的意思是SQL语句执行时间超过1s的,对其进行记录; <br/>log-slow-queries = /var/log/mysql/slow.log
是对慢查询日志路径的设置; <br/>log_queries_not_using_indexes
2. 一般的なクエリ ログをオンにします
set slow_query_log = ON
[root@localhost ~]# cat /var/lib/mysql/localhost-slow.log /usr/sbin/mysqld, Version: 5.7.19 (MySQL Community Server (GPL)). started with: Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock Time Id Command Argument
rrreee
成功。ログには SQL コマンドが記録されるだけでなく、実行時間、ID、コマンド タイプ、その他の関連データも含まれていることがわかります🎜🎜🎜遅いクエリログ 🎜🎜🎜 スロー クエリ ログには、SQL ステートメント時間が事前設定された long_query_time を超えるステートメントが記録され、データ量が多い場合、スロー クエリ ログ内のどのステートメントを最適化する必要があるかを確認できます。 🎜🎜🎜1. スロークエリログの構成 🎜🎜🎜スロークエリログの構成は、データベース構成ファイルmy.cnf
にあります: 🎜rrreee🎜 参照できます: 🎜🎜 long_query_time = 1
は、SQL ステートメントの実行時間が 1 秒を超えた場合に記録されることを意味します 🎜log-slow-queries = /var/log/mysql/slow.log
遅いクエリの場合 ログ パスの設定; 🎜log_queries_not_using_indexes
はインデックスを使用しないステートメントを意味し、記録の対象を減らすことができます🎜🎜 実際の設定は一般的なクエリ ログと同じです。低速クエリ ログを有効にするための mysql インタラクティブ インターフェイス:🎜 rrreee🎜🎜2. クエリが成功したかどうかを確認します🎜🎜rrreee🎜。 🎜🎜ただし、slow_query_log にはユーザーのアクセス許可とパスワードに関連するステートメントが記録される場合があるため、スロー クエリ ログ ファイルを使用する場合は、ログの安全な保管に注意してください。 🎜以上がMySQL の通常のクエリ ログとスロー クエリ ログの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

CentOSにMySQLをインストールするには、次の手順が含まれます。適切なMySQL Yumソースの追加。 yumを実行して、mysql-serverコマンドをインストールして、mysqlサーバーをインストールします。ルートユーザーパスワードの設定など、MySQL_SECURE_INSTALLATIONコマンドを使用して、セキュリティ設定を作成します。必要に応じてMySQL構成ファイルをカスタマイズします。 MySQLパラメーターを調整し、パフォーマンスのためにデータベースを最適化します。

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

MySQLをエレガントにインストールするための鍵は、公式のMySQLリポジトリを追加することです。特定の手順は次のとおりです。MYSQLの公式GPGキーをダウンロードして、フィッシング攻撃を防ぎます。 mysqlリポジトリファイルを追加:rpm -uvh https://dev.mysql.com/get/mysql80-community-rease-el7-3.noarch.rpm update yumリポジトリキャッシュ:yumアップデートインストールmysql:yumインストールmysql-server startup mysql sportin

WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

MACの操作およびメンテナンスツールが推奨され、効率的な作業環境の作成:ターミナルエミュレータ:ITERM2、効率と美しいリモート接続ツール:ターミウス、複数のサーバーコードエディターの安全な管理:VSコード、複数の言語、リッチエクステンションファイルマネージャー:ファインダースキルの向上、効率監視の向上:データドーグまたはプロメテウスの発見:eLの発見:エルクスタックPostico、グラフィカル管理データベースパフォーマンスの最適化:システムガベージの定期的なクリーニング、リソースの合理的な割り当て、タイムリーな更新ソフトウェア
