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 ファイル操作でよく使われるコマンドのまとめ

推薦する

Swiper+echartsは複数のダッシュボードの左右スクロール効果を実現します

この記事では、ダッシュボードの左右スクロール効果を実現するためのスワイパー+echartsの具体的な...

CentOS7にPostgreSQL11をインストールする方法

CentOS 7にPostgreSQL 11をインストールする PostgreSQL: 世界で最も先...

黒、白、グレーの控えめでエレガントなウェブデザインを鑑賞

クラシックな色の組み合わせの中でも、黒、白、グレーの時代を超えた魅力を否定できる人はおそらくいないで...

Iframe Web ページのナビゲーション ウィンドウに関する簡単な説明

Iframe Web ページのナビゲーション ウィンドウに関する簡単な説明 Iframe ウェブペー...

Windows プラットフォームでの MySQL のインストールと設定方法と注意事項

2.1、msiインストールパッケージ2.1.1、インストール特に重要なのは、インストール前に、元の ...

MySQL 5.5.56 インストール不要版の設定方法

MySQL 5.5.56無料インストール版の設定方法をテキストコードで詳しく説明します。具体的な内容...

CSS3アニメーション属性に基づくWeChatタップアニメーション効果の実装

最近人気のWeChatタップ機能を見て、CSS3アニメーションを見直し、このボックスシェイクアニメー...

Mac VMware Fusion CentOS7 静的 IP 構成チュートリアル図

目次CentOS7をインストールする静的IPの設定viを使用してファイルを編集するCentOS7をイ...

Alibaba Cloud で静的ウェブサイトを素早く構築する方法

序文:ジュニアプログラマーとして、私は自分自身の個人ウェブサイトを構築し、それを他の人に見せることを...

CSS: 訪問した疑似クラスセレクタの秘密の記憶

昨日、a:visited を使用して「Guess You Like」の右側にある訪問済みテキストの色...

CSS の優先順位に関する詳細な紹介

CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があ...

jQuery ベースのカレンダー効果

この記事では、カレンダー効果を実現するためのjQueryの具体的なコードを例として紹介します。具体的...

TypeScript をインストール、使用、自動コンパイルする方法に関するチュートリアル

1. TypeScriptの紹介前回の記事ではTypeScriptのインストール、使い方、自動コンパ...

JavaScript 配列の重複排除とフラット化関数の紹介

目次1. 配列の平坦化(配列の次元削減とも呼ばれる)方法1: 削減メソッドを使用する方法2: スタッ...

Docker の NFS-Ganesha イメージを使用して NFS サーバーを構築する詳細なプロセス

目次1. NFS-Ganeshaの紹介2. NFS-Ganeshaの設定3. NFS-Ganesha...