序文MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース管理システムであり、Oracle の製品です。 MySQL は、最も人気のあるリレーショナル データベース管理システムの 1 つです。WEB アプリケーションに関して言えば、MySQL は最高の RDBMS (リレーショナル データベース管理システム) アプリケーション ソフトウェアの 1 つです。 どのデータベースにも、データベース管理者がデータベース内で発生したさまざまなイベントを追跡できるように、データベース作業のあらゆる側面を記録するさまざまなログが存在します。
これらのログには、データベースのさまざまな側面のトレースが記録されます。MySQL ログの使用方法を学ぶことは、データベースの使用と保守に非常に役立ちます。 1. エラーログエラー ログは、MySQL で最も重要なログの 1 つです。mysqld がいつ起動および停止したか、およびサーバーの動作中に重大なエラーが発生したかどうかに関する情報が記録されます。データベースに障害が発生し、正常に使用できない場合は、まずこのログを確認できます。 1. ログの場所を確認する 'log_error%' のような変数を表示します。 2. ログの内容を表示する テール -f /var/lib/mysql/xxx.err 2. バイナリログバイナリ ログ (BINLOG) には、すべての DDL (データ定義言語) ステートメントと DML (データ操作言語) ステートメントが記録されますが、データ クエリ ステートメントは記録されません。このログは、災害発生時のデータ復旧において非常に重要な役割を果たします。MySQL のマスター スレーブ レプリケーションは、このバイナリ ログを通じて実現されます。 1. バイナリログを有効にするバイナリ ログはデフォルトでは有効になっていません。MySQL 構成ファイルで有効にして、MySQL ログの形式を構成する必要があります。
#binlog ログを設定します。ログファイルのプレフィックスは mysqlbin です -----> 生成されるファイル名は次のようになります: mysqlbin.000001、mysqlbin.000002 log_bin = mysqlbin #バイナリログ形式を設定する binlog_format=STATEMENT 2. バイナリログ形式(1)声明 このログ形式では、ログ ファイルに SQL ステートメントが記録されます。データを変更する各 SQL ステートメントがログ ファイルに記録されます。各ステートメントのテキストは、MySQL が提供する mysqlbinlog ツールを使用して明確に表示できます。マスタースレーブレプリケーション中、スレーブはログを元のテキストに解析し、スレーブ上で再実行します。 (2)行 このログ形式では、SQL ステートメントを記録する代わりに、ログ ファイルの各行のデータの変更が記録されます。たとえば、SQL ステートメント update tb_book set status='1' を実行すると、ログ形式が STATEMENT の場合は、SQL ファイルの 1 行がログに記録されます。ROW の場合は、テーブル全体が更新されるため、つまりレコードのすべての行が変更されるため、ROW 形式のログには各行のデータの変更が記録されます。 (3)混合 これは MySQL の現在のデフォルトのログ形式で、STATEMENT 形式と ROW 形式が混在しています。デフォルトでは、STATEMENT が使用されますが、特殊な場合には ROW が記録に使用されます。 MIXED 形式は、両方のモードの欠点を回避しながら、両方のモードの利点を最大限に活用できます。 3. ログの読み取りログはバイナリ形式で保存されており、直接読み取ることはできないため、表示するにはmysqlbinlogツールを使用する必要があります。構文は次のとおりです。 mysqlbinlog ログファイル; 4. STATEMENT形式のログを表示する(1)挿入文を実行する tb_book に値 (null、'Lucene'、'2088-05-01'、'0') を挿入します。 (2)mysqlデータファイルディレクトリ内のバイナリファイルを見つける mysqlbin.index はログ ファイル名を記録するログ インデックス ファイルです。 mysql-bin.000001はログファイルです (3)ログファイルを表示する 5. ROW形式のログを表示する(1)設定ファイルで設定する #binlog ログを設定します。ログファイルのプレフィックスは mysqlbin です -----> 生成されるファイル名は次のようになります: mysqlbin.000001、mysqlbin.000002 ログビン=mysqlbin #バイナリログ形式を設定する binlog_format=ROW 注意: 設定ファイルを変更するたびにMySQLサービスを再起動することを忘れないでください。 サービスmysqlの再起動 (2)データを挿入する ログ形式が ROW の場合、データを直接理解することはできません。mysqlbinlog の後に -vv パラメータを追加できます。文字セットの影響を回避するには、--no-defaults パラメータを使用します。
6. ログの削除負荷の高いシステムでは、毎日大量のログが生成されます。これらのログが長期間消去されない場合、大量のディスク領域を占有することになります。ログを削除する一般的な方法は次のとおりです。 (1)方法1 Reset Master コマンドを使用して、すべての binlog ログを削除します。削除後、ログ番号は xxxx.000001 から再開されます。 削除する前に、ログ ファイルを照会します。 ログ削除コマンドを実行する マスターをリセット もう一度確認 最後に残った000001は空の設定ファイルです (2)方法2 マスターログを 'mysqlbin.****** に消去します。 このコマンドは、 (3)方法3 'yyyy-mm-dd hh24:mi:ss' 以前のマスター ログを消去します このコマンドは (4)方法4 パラメータ 3. クエリログクエリ ログにはクライアントのすべての操作ステートメントが記録されますが、バイナリ ログにはデータをクエリするための SQL ステートメントは含まれません。 デフォルトでは、クエリ ログは有効になっていません。クエリログを有効にする必要がある場合は、次の構成を設定できます。 #このオプションはクエリログを有効にするために使用されます。オプションの値: 0 または 1。0 はオフ、1 はオンを意味します。general_log=1 #ログファイル名を設定します。指定しない場合、デフォルトのファイル名はhost_name.logになります。 general_log_file=ファイル名 1. クエリログを有効にする2. 一連の操作を実行する3. クエリログを表示する4. スロークエリログスロー クエリ ログには、実行時間がパラメータ long_query_time の設定値を超え、スキャンされたレコード数が min_examined_row_limit 未満ではないすべての SQL ステートメントが記録されます。 long_query_time のデフォルト値は 10 秒、最小値は 0、精度はマイクロ秒単位です。 1. ファイルの場所と形式スロークエリログはデフォルトで無効になっています。スロークエリログは2つのパラメータで制御できます # このパラメータは、スロークエリログを有効にするかどうかを制御するために使用されます。可能な値は 1 と 0 です。1 は有効、0 は無効を意味します。slow_query_log=1 # このパラメータは、スロークエリログのファイル名を指定するために使用されます slow_query_log_file=slow_query.log # このオプションはクエリ時間制限を設定するために使用されます。クエリ時間がこの制限を超えると、遅いクエリとみなされ、ログ記録が必要になります。デフォルトは10秒です。 長いクエリ時間=10 一般的には 2 秒程度に設定すれば十分ですが、私の実験では遅いクエリを完了するために 0.5 秒に設定しました。 現在のlong_query_timeはMySQLクライアントで照会できます。 2. クエリ操作を実行する(1)クエリを実行する前にスロークエリログを確認する (2)より高速なクエリアクションを実行する (3)スロークエリアクションを実行する スロークエリログの内容が大量にある場合、ファイルを直接閲覧するのは面倒です。このとき、MySQL に付属している mysqldumpslow ツールを使用して、スロークエリログを分類して要約することができます。 ここではスロークエリレコードが1つしかないため、mysqldumpslowの効果は反映されていないが、スロークエリレコードが多数ある場合は分類してまとめることができる。 要約するこれで、MySQL ログ システムの簡単な使用方法のチュートリアルに関するこの記事は終了です。MySQL ログ システムに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: はじめに: HTML の基本的なタグと属性の簡単な紹介
echartsワードクラウドはechartsの拡張版ですhttps://echarts.apache...
目次序文1. セレンとは何ですか? 2. 使用手順1. ライブラリをインポートする2. テストコード...
目次1. HBuilderXビジュアルインターフェースを通じて2. vue-cliコマンドで実行する...
1. at は、5 時間後にルート ディレクトリの at_test ファイルに「これは at タスク...
Linuxにフラッシュをインストールする方法1. Flashの公式サイトにアクセスし、ダウンロードを...
この記事の例では、参考までに簡単なカウントダウンを実装するためのjsの具体的なコードを共有しています...
目次1. ページレンダリング2. タグを切り替える3. タグを削除するこのようなタグはどのように記述...
1 HTML入門1.1 初めてのコード体験、最初のウェブページの作成XML/HTML コードコンテン...
目次js の1. グローバルガードを登録する2. Vuex 状態管理グローバルキャッシュルート3. ...
1. Docker公式サイトにアクセスするまず、Dockerの公式ウェブサイトにアクセスして、最新の...
位置が絶対の場合、関連する属性のパーセンテージは、参照先の要素 (包含ブロック) を基準として計算さ...
インデックス作成は大学図書館の書誌インデックスの構築に似ており、データ検索の効率を向上させ、データベ...
<table>テーブルデータをJSON形式に変換するJavaScript関数は次のとおり...
1. 設置環境1. HUAWEI mate x CPU i5 82500u、8g メモリ、独立グラフ...
1. リポジトリファイルを作成するmongodb の公式インストール ドキュメントを参照し、次のスク...