MySQL のデフォルトのストレージ エンジンを変更する方法

MySQL のデフォルトのストレージ エンジンを変更する方法

mysql ストレージ エンジン:

MySQL サーバーはモジュール スタイルを採用しており、特にストレージ アーキテクチャでは各部分が比較的独立しています。ストレージ エンジンは、データ ストレージの管理と MySQL インデックス管理を担当します。 MySQL サーバーは、定義された API を介してストレージ エンジンと通信できます。最もよく使用されるのは MyISAM と InnoDB です。 InnoDB が Oracle に買収された後、MySQL が独自に開発した新しいストレージ エンジン Falcon が MySQL バージョン 6.0 で導入される予定です。

MyISAM エンジンは、高速なストレージと取得、および全文検索機能を提供する非トランザクション エンジンであり、データ ウェアハウスなどのクエリが頻繁に実行されるアプリケーションに適しています。 MyISAM では、テーブルは実際には 3 つのファイルとして保存されます。.frm にはテーブル定義が保存され、.MYD にはデータが保存され、.MYI にはインデックスが保存されます。

InnoDB はトランザクションをサポートするエンジンです。すべてのデータは 1 つ以上のデータ ファイルに保存され、Oracle と同様のロック メカニズムをサポートします。一般的に、OLTP アプリケーションで広く使用されています。 InnoDB 構成オプションが指定されていない場合、MySQL は MySQL データ ディレクトリに ibdata1 という名前の自動拡張データ ファイルと、ib_logfile0 および ib_logfile1 という名前の 2 つのログ ファイルを作成します。

テーブルを作成するときに、engine キーワードを使用して、使用するストレージ エンジンを指定できます。省略すると、システムのデフォルトのストレージ エンジンが使用されます: CREATE TABLE t (i INT) ENGINE = MYISAM;

システムでサポートされているストレージ エンジンの種類を表示します。

mysql> show engines;| エンジン | サポート | コメント || MyISAM | はい | 優れたパフォーマンスを備えた MySQL 3.23 以降のデフォルト エンジン | 

 | MEMORY | YES | ハッシュベース、メモリに保存、一時テーブルに便利 | 

 | InnoDB | DEFAULT | トランザクション、行レベルのロック、外部キーをサポートします | 

 | BerkeleyDB | いいえ | トランザクションとページレベルのロックをサポート | 

 | BLACKHOLE | NO | /dev/null ストレージ エンジン (書き込んだものはすべて消えます) | 

 | 例 | いいえ | ストレージ エンジンの例 | 

 | アーカイブ | はい | アーカイブ ストレージ エンジン | 

 | CSV | NO | CSV ストレージ エンジン | 

 | ndbcluster | NO | クラスター化されたフォールト トレラントなメモリベースのテーブル| 

 | FEDERATED | NO | フェデレーテッド MySQL ストレージ エンジン | 

 | MRG_MYISAM | YES | 同一の MyISAM テーブルのコレクション | 

 | ISAM | NO | 廃止されたストレージ エンジン | セット内の行数は 12 です (0.00 秒) 

標準インストール プログラムは一部のエンジンのみをサポートします。他のストレージ エンジンを使用する必要がある場合は、異なるパラメータでソース コードを再コンパイルする必要があります。 DEFAULT はシステムのデフォルトのストレージ エンジンを示します。これは、構成パラメータを変更することで変更できます。

デフォルトのストレージエンジン=MyISAM

ストレージエンジンの特定の情報を表示する

mysql> エンジン InnoDB ステータスを表示します\G;

通常、デフォルトのインストールシステムはINNODBです。

デフォルトのストレージエンジン=INNODB

1. データベース サーバーを起動するときに、コマンド ラインに --default-storage-engine または --default-table-type オプションを追加できます。

2. より柔軟な方法は、MySQL サーバーに付属する MySQL クライアントをリリースするときに使用するストレージ エンジンを指定することです。最も直接的な方法は、次のようにテーブルを作成するときにストレージ エンジンの種類を指定することです。

テーブル mytable を作成します (id int、titlechar(20)) エンジン = INNODB

テーブルのストレージ エンジンを変更するには:

ALTER TABLE engineTest ENGINE = INNODB;

デフォルトのストレージ エンジンを変更します。

MySQL 構成ファイル (Linux では /etc/my.cnf) で、mysqld の後に default-storage-engine=INNODB を追加します。

ただし、テーブルが MyISAM で作成されている場合、データベース テーブル全体のストレージ エンジンを変更するには、通常、各テーブルを 1 つずつ変更する必要があり、かなり面倒です。最初にデータベースをエクスポートし、SQL を取得して、MyISAM を INNODB に変更してからインポートすることができます。

MySQL のデフォルトのストレージ エンジンを変更する方法は以上です。これが参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQLのストレージエンジンについてお話しましょう
  • MySQL InnoDBストレージエンジンについて簡単に説明します
  • MySQL ストレージエンジンの簡単な紹介
  • MySql ストレージ エンジンとインデックスに関する知識のまとめ
  • MySQL MyISAM デフォルト ストレージ エンジンの実装原則
  • MySQL 学習のまとめ: InnoDB ストレージ エンジンのアーキテクチャ設計の予備的な理解
  • MySQLでよく使われる4つのストレージエンジンについて簡単に説明します。
  • MySQL 学習 (VII): Innodb ストレージ エンジン インデックスの実装原理の詳細説明
  • MySQL ストレージエンジン InnoDB の設定と使用方法の説明
  • MySQL ストレージ エンジン MyISAM と InnoDB の違いの概要
  • MySQL共通ストレージエンジンの機能と使用方法の詳細な説明
  • MySQLは適切なストレージエンジンを選択します

<<:  スライド効果を実現するためのネイティブJavaScript

>>:  Windows および Linux で tomcat9 を介して war パッケージを手動で展開する方法

推薦する

Vue ページ内の公開マルチタイプ添付画像アップロード領域と適用可能な折りたたみパネル (サンプルコード)

フロントエンド プロジェクトでは、添付ファイルのアップロードは非常に一般的な機能であり、ほぼすべての...

WeChatアプレットはシンプルなチャットルームを実装します

この記事では、WeChatアプレットの具体的なコードを共有し、簡単なチャットルームを実装します。具体...

Centos7でファイルをバックアップするときは、バックアップファイルにバックアップの日付を追加します

Linux は、システム内のデバイス、インターフェース、ファイル、スタートアップ、アプリケーション ...

VS2022 リモート デバッグ ツールの使い方

WeChat 関連サービスをデバッグする場合など、職場のサーバー環境でリモートデバッグを行う必要があ...

MySQL のレイテンシ問題とデータフラッシュ戦略プロセスの分析

目次1. MySQLレプリケーションプロセス2. MySQLの遅延問題の分析3. プロモーション期間...

JavaScript WebAPI、DOM、イベント、操作要素例の詳しい説明

目次ウェブAPI DOM DOMツリーDOM要素取得方法ドキュメントオブジェクトのプロパティイベント...

Vue プラグイン エラー: このページで Vue.js が検出されました。問題は解決しました

Vue プラグインがエラーを報告しました: このページで Vue.js が検出されましたVueプラグ...

MySQLの重複排除操作を極限まで最適化する方法

目次1. インデックスと変数の賢い使用1. インデックスなしの比較テスト2. created_tim...

ElementuiはデータをxlsxとExcelテーブルにエクスポートします

最近、Vue プロジェクトについて知り、ElementUI でデータを xlsx および Excel...

nginx を介して方向プロキシを実装するプロセスの図

この記事は主に、nginx を介して方向プロキシを実装するプロセスを紹介します。この記事のサンプル ...

HTMLセマンティクスと関連するフロントエンドフレームワークの詳細な分析

セマンティクスについて意味論は、記号やシンボルとそれらが表す意味との関係を研究する学問です。言語学で...

OR キーワードを使用した MySql 複数条件クエリ ステートメント

前の記事では、And キーワードを使用した MySql の複数条件クエリ ステートメントを紹介しまし...

vue-nuxt ログイン認証の実装

目次導入リンク始めるコードを読み進めてくださいプロキシ設定傍受を要求する異なるプレフィックスを持つイ...

順序再構築に関する簡単な説明: MySQL シャーディング

目次1. 目的2. 環境整備1. 基本情報2. データベース環境の準備3. データベースを構築し、サ...