MySQLでMyISAMストレージエンジンをInnodbに変更した操作記録のまとめ

MySQLでMyISAMストレージエンジンをInnodbに変更した操作記録のまとめ

一般的に、MySQL はデフォルトでさまざまなストレージ エンジンを提供しており、次のように表示されます。

1) MySQL に InnoDB プラグインがインストールされているかどうかを確認します。

以下のコマンド結果から、innodb プラグインがインストールされていることがわかります。

mysql> プラグインを表示します。 
+------------+--------+----------------+----------+---------+ 
| 名前 | ステータス | タイプ | ライブラリ | ライセンス | 
+------------+--------+----------------+----------+---------+ 
| binlog | アクティブ | ストレージ エンジン | NULL | GPL | 
| パーティション | アクティブ | ストレージ エンジン | NULL | GPL | 
| CSV | アクティブ | ストレージ エンジン | NULL | GPL | 
| メモリ | アクティブ | ストレージ エンジン | NULL | GPL | 
| InnoDB | アクティブ | ストレージ エンジン | NULL | GPL | 
| MyISAM | アクティブ | ストレージ エンジン | NULL | GPL | 
| MRG_MYISAM | アクティブ | ストレージ エンジン | NULL | GPL | 
+------------+--------+----------------+----------+---------+ 
セット内の行数は 7 です (0.00 秒)

----------------------------------------------------------------------
innodb プラグインがインストールされていない場合は、次のステートメントを実行してインストールできます。
mysql>プラグイン innodb soname 'ha_innodb.so' をインストールします。
----------------------------------------------------------------------

2) MySQL が現在提供しているストレージ エンジンを確認します。

mysql> エンジンを表示します。 
+------------+---------+----------------------------------------------------------+--------------+------+------------+ 
| エンジン | サポート | コメント | トランザクション | XA | セーブポイント | 
+------------+---------+----------------------------------------------------------+--------------+------+------------+ 
| MRG_MYISAM | YES | 同一の MyISAM テーブルのコレクション | NO | NO | NO | 
| CSV | はい | CSV ストレージ エンジン | いいえ | いいえ | いいえ | 
| MyISAM | DEFAULT | 優れたパフォーマンスを備えた MySQL 3.23 以降のデフォルト エンジン | NO | NO | NO | 
| InnoDB | はい | トランザクション、行レベルのロック、外部キーをサポートします | はい | はい | はい | 
| メモリ | はい | ハッシュベース、メモリに保存、一時テーブルに便利 | いいえ | いいえ | いいえ | 
+------------+---------+----------------------------------------------------------+--------------+------+------------+ 
セット内の行数は 5 です (0.00 秒)

3) MySQL の現在のデフォルトのストレージ エンジンを表示します。

mysql> '%storage_engine%' のような変数を表示します。 
+----------------+--------+ 
| 変数名 | 値 | 
+----------------+--------+ 
| ストレージ エンジン | MyISAM | 
+----------------+--------+ 
セット内の 1 行 (0.00 秒) 

4) テーブルが使用しているエンジンを確認します (表示された結果の engine の後のパラメータは、テーブルで現在使用されているストレージ エンジンを示します)。

mysql> show create table テーブル名;

mysql> show テーブル wx_share_log を作成します。 
+--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| テーブル | テーブルの作成 | 
+--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| wx_share_log | テーブル `wx_share_log` を作成します ( 
 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'WeChat共有ログ自動増分ID', 
 `reference_id` int(11) NOT NULL COMMENT '推奨ブローカーID', 
 `create_time` datetime NOT NULL COMMENT '作成時刻', 
 主キー (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=13 デフォルト CHARSET=utf8 | 
+--------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
セット内の 1 行 (0.00 秒) 

5) MyISAM データベースを INNODB エンジン形式にインポートする方法:

バックアップしたxxx.sqlファイルで、ENGINE=MyISAMをENGINE=INNODBに変更します。
もう一度インポートしてください。

6) 変換テーブルコマンド:

mysql> alter table テーブル名 engine = innodb;

上記のように、このローカル MySQL で使用されるストレージ エンジンはデフォルトの MyISAN です。ビジネス上のニーズにより、まずストレージ エンジンを Innodb に変更する必要があります。

操作記録は次のとおりです。

1) MySQLをセーフモードでシャットダウンする

[root@dev mysql5.1.57]# mysqladmin -uroot -p シャットダウン
パスワードを入力してください:
[root@dev mysql5.1.57]# ps -ef|grep mysql

2) my.cnfをバックアップする

[root@dev mysql5.1.57]# cp my.cnf my.cnf.old

3) my.cnf設定ファイルを変更する

[root@dev mysql5.1.57]# vim my.cnf
.....
[mysqld] //この設定領域に次の行を追加して、ストレージエンジンをinnodbとして指定します。
デフォルトのストレージエンジン = InnoDB

4) /mysql/data ディレクトリ内の ib_logfile0 と ib_logfile1 を削除します。削除するか、別の場所で切り取ってください。

[root@dev var]# mv ib_logfile0 ib_logfile1 /tmp/back/

5) MySQLを起動し、MySQLにログインしてストレージエンジンが切り替わったかどうかを確認します。

[root@dev var]# /Data/app/mysql5.1.57/bin/mysqld_safe --defaults-file=/Data/app/mysql5.1.57/my.cnf &

mysql> '%storage_engine%' のような変数を表示します。 
+----------------+--------+ 
| 変数名 | 値 | 
+----------------+--------+ 
| ストレージ エンジン | InnoDB | 
+----------------+--------+ 
セット内の 1 行 (0.00 秒) 

以上がMysqlのMyISAMストレージエンジンをInnodbに置き換える操作記録の要約です。これが編集者が皆さんと共有する内容の全てです。皆さんの参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL ストレージ エンジン MyISAM と InnoDB の違いの概要
  • MySQLストレージエンジンのMyISAMとInnoDBの違いを詳しく説明
  • MySQL ストレージ エンジン、myisam と innodb の違い
  • MySQL ストレージ エンジン MyISAM と InnoDB の 9 つの違い
  • MySQL データベースの MyISAM ストレージ エンジンを Innodb に変換する方法
  • MySQL ストレージ エンジン InnoDB と MyISAM の違い
  • MySQL ストレージ エンジンとして InnoDB と MyISAM を選択する場合のメリットとデメリットの簡単な分析
  • MySQL ストレージ エンジン InnoDB と MyISAM

<<:  JavaScript で一意の ID を生成するいくつかの方法

>>:  Nginx 正規表現の詳細な説明

推薦する

Ubuntuで顔認識ログインを実装するための完全な手順

1. Howdyをインストール: howdyプロジェクトアドレス sudo add-apt-repo...

CCS におけるマージン: トップ崩壊問題を解決する

HTML 構造は次のとおりです。 CCS 構造は次のとおりです。 ページ効果図は次のとおりです。 こ...

複合主キーと複数列インデックスに遭遇した場合の MySQL 行ロックの詳細な説明

背景今日、他のプロジェクト チームと協力してシス​​テムのストレス テストを実施しているときに、プロ...

画像ファイルの形式とその選択方法

1. どの 3 つの形式ですか?それぞれ、gif、jpg、png です。画像ファイルを最適化すること...

Vueリストレンダリングキーの原理と機能の詳細な説明

目次リストレンダリングキーの原理と機能主要原則の分析キーの役割要約するリストレンダリングキーの原理と...

Vue3は画像拡大鏡効果を実現します

この記事の例では、画像拡大鏡効果を実現するためのVue3の具体的なコードを参考までに共有しています。...

サーバー上で selenium+chromedriver を実行するための詳細なチュートリアル

1. はじめにSelenium を使用して Web サイトからデータをスクレイピングしたいのですが、...

最小限のルートファイルシステムを構築するためにbusyboxを移植するための詳細な手順

Busybox: 小さなコマンドが詰まったスイスアーミーナイフ。ステップ1: ディレクトリ構造を作成...

MySQLファイルストレージの詳細な説明

ファイルシステムとは何かInnoDB や MyIASM などのストレージ エンジンはテーブルをディス...

Vue はウェブページの言語切り替えの国際化を実装します

1. 基本的な手順1: yarn add vue-i18nをインストールするこのパスに新しい .js...

LinuxサーバにおけるNginxとApacheの共存の実装方法の分析

この記事では、Linux サーバー上で Nginx と Apache の共存を実装する方法について説...

リアルタイムクロックを実装するネイティブJS

ネイティブ JS で実装したリアルタイム クロック エフェクトを共有します。エフェクトは以下のとおり...

sqlmap インジェクションの詳細なグラフィック説明

目次1. この Web サイトには SQL インジェクションの脆弱性がある可能性があることが判明しま...

MySQL SQL文を最適化するためのヒント

十分に最適化されていない、またはパフォーマンスが極端に低い SQL ステートメントに直面した場合、通...