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 正規表現の詳細な説明

推薦する

docker を使用して influxdb と mongo をデプロイするための一般的なコマンド

Docker ベースのデータベースをデプロイするsudo docker pull influxdb ...

...

JavaScript 遅延読み込みの詳細な説明

目次遅延読み込みCSS スタイル: HTML部分:スクリプト部分:要約する遅延読み込み名前の通り、私...

フロントエンドページのポップアップマスクはページのスクロールを禁止します

フロントエンド開発者がよく遭遇する問題は、ユーザーに情報を提示するためのポップアップ ウィンドウを作...

MySQL トリガー: トリガーの作成と使用

この記事では、例を使用して MySQL トリガーの作成と使用について説明します。ご参考までに、詳細は...

MySQLは変数を使用してさまざまなソートを実装します

コアコード -- 以下では、MySQLでのソート列の実装を示します -- テストデータ CREATE...

MySQL のソート関数 field() の詳細な例

序文私たちの日常の開発プロセスでは、ソートが頻繁に使用され、そのような要求がある場合もあります。たと...

Vueフロントエンドの効率的な開発のためのレンダリング手順をリストします

v-for ディレクティブリストといえば、ループについても触れなければなりません。v-for 命令は...

Nest.js パラメータ検証とカスタム戻りデータ形式の詳細な説明

0x0 パラメータ検証Nest.jsでは、パラメータ検証業務のほとんどをパイプライン方式で実装してい...

Electronで不規則な形状の透明部分をクリックする実装

目次不規則なフォームの実装透明な部分をクリックする不規則なフォームの実装ここでは円形フォームを実装し...

Chrome デベロッパー ツールの詳細な紹介 - タイムライン

1. 概要ユーザーは、アクセスする Web アプリケーションがインタラクティブでスムーズに実行される...

Vueのフロントエンドとバックエンドのデータのやり取りと表示を理解する方法

目次1. 技術概要2. 技術的な詳細1. インターフェースからバックエンドデータを取得する2. フロ...

ラベルタグを使用してテキストをクリックしてラジオボタンを選択します

<label> タグは、入力要素のラベル (タグ) を定義します。ラベル要素はユーザーに...

Nest.js 認証検証方法の例

目次0x0 はじめに0x1 RBAC 実装0x2 クレームベースの承認0x3 統合 CASL 0x4...

Tomcat のプレースホルダーによるポート設定方法 (パラメータ指定方式)

仕事で必要になったため、インターネットで多くの情報を見つけましたが、それらはすべてコピーアンドペース...