MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

背景

mysql.slow_log からスロー クエリ ログを取得するのは遅く、テーブルは csv テーブルであり、インデックスがありません。

アクセスを高速化するためにインデックスを追加したいのですが、csv エンジンではインデックスを追加できません (csv エンジンはコンマで区切られたテキストを保存します)。そのため、インデックスを追加するにはストレージ エンジンを変更することしかできません。

mysql.slow_log テーブルは myisam に変更できるが、innodb には変更できない

mysql> グローバル slow_query_log をオフに設定します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

mysql> テーブル mysql.slow_log を変更します。engine=innodb;
エラー 1579 (HY000): このストレージ エンジンはログ テーブルには使用できません。
mysql> テーブル mysql.slow_log を変更します。engine=myisam;
クエリは正常、33760 行が影響を受けました (0.37 秒)
レコード: 33760 重複: 0 警告: 0

mysql.general_log を innodb に変更することはできません

mysql> テーブル mysql.general_log を変更します。engine=myisam;
クエリは正常、242956 行が影響を受けました (2.41 秒)
レコード: 242956 重複: 0 警告: 0

mysql> テーブル mysql.general_log を変更します。engine=innodb;
エラー 1579 (HY000): このストレージ エンジンはログ テーブルには使用できません。

公式ドキュメント

公式ドキュメントによると、ログ テーブルは CSV エンジンと MyISAM エンジンのみをサポートします。

なぜ innodb エンジンをサポートしないのですか?

InnoDB テーブルをサポートしないと考える根拠は何ですか?

友人に聞いた

ログ テーブル エンジンは、REDO および UNDO リソースを大量に消費すると思われます。

これは必要ありません。 。 。これらのデータは重要ではありません。 。

変更ログテーブルストレージエンジン

@old_log_state を @@global.general_log に設定します。
グローバル general_log を 'OFF' に設定します。
ALTER TABLE mysql.general_log ENGINE = MyISAM;
グローバル general_log を @old_log_state に設定します。

アーカイブログテーブル

mysqlを使用します。
general_log2 が存在する場合はテーブルを削除します。
general_log2 テーブルを作成します。
テーブル general_log の名前を general_log_backup に、general_log2 の名前を general_log に変更します。

参照する

一般クエリログとスロークエリログの出力先の選択

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • MySQL ストレージエンジン InnoDB の設定と使用方法の説明
  • MySQL ストレージ エンジン MyISAM と InnoDB の違いの概要
  • MySQL InnoDB ストレージ エンジンの詳細
  • MySQL InnoDBエンジンのインデックスとストレージ構造の詳細な説明
  • MySQLデータベースエンジンをInnoDBに変更する

<<:  Vue3.0+vite2は動的非同期コンポーネントの遅延読み込みを実装します

>>:  Linux ファイル操作でよく使われるコマンドのまとめ

推薦する

MySQLパスワードを変更するいくつかの方法

序文:データベースを日常的に使用すると、パスワードが単純すぎて変更する必要がある場合、パスワードの有...

HTML は、Web ページの作成者が学習して習得しなければならないものです。

HTML を学ぶメリットは何ですか? 1: ウェブサイトやブログのウェブ構造を簡単に変更できます。...

MySQL の複合インデックスはどのように機能しますか?

目次背景複合インデックスを理解する左端一致原則フィールド順序の影響複合インデックスは単一のインデック...

MySQLデータベースを操作するためのコマンドラインツールmycliの簡単な紹介

GitHub にはあらゆる種類の魔法のツールがあります。今日、私はデータベースを操作するためのコマン...

nginx ロケーション優先度の詳細な説明

場所表現タイプ~ は大文字と小文字を区別して通常の一致を実行することを示します~*は大文字と小文字を...

vue構成ファイルはルーティングとメニューインスタンスコードを自動的に生成します

目次前面に書かれたルータ.jsonルート生成メニュー生成効果要約する前面に書かれたルートを繰り返し記...

Centos7でmysql6の初期化インストールパスワードをインストールする方法

1. まずデータベースサーバーを停止しますサービスmysqld停止2.vim /etc/my.cnf...

モバイル端末のジャンプ問題を解決する(CSS遷移、ターゲット疑似クラス)

序文モバイル端末に触れたばかりの友人の多くは、クリックジャンプルーティング、特にVueルーティングを...

複雑なウェブサイトのナビゲーションを簡素化

<br />ナビゲーション設計は構造設計における主要なタスクの 1 つです。ソフトウェア...

mysql エラー 1045 (28000) - ユーザーへのアクセスが拒否される問題を解決する方法

問題の説明 (以下の説明は Windows 環境に限定されます): D:\develop\ide\m...

Vue.js フロントエンドプロジェクト向け多言語ソリューションのアイデアと実践

目次1. 通常どのようなコンテンツを処理する必要があるか2. 基本的な考え方3. 具体的な実践の詳細...

JavaScript の基本: ループと配列

目次ループ - for forループの基本的な使い方ループを終了するネストされたループ配列配列とは何...

HTML に埋め込まれた MP4 形式のビデオが再生できないのはなぜですか?

次のコードは、私の test.html にあります。ビデオは、c:\test.html などの絶対パ...

クールなIoT大画面機能を実現するHTML+VUEページング

効果デモ.html <html> <ヘッド> <メタ文字セット=&qu...

HTML 中国語文字エンコード標準の概要

HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法...