ホームページ >データベース >mysql チュートリアル >MySQL は MyISAM ストレージ エンジンを Innodb 操作レコードのサンプル コード共有に置き換えます
以下のエディターは、MysqlMyISAMストレージエンジンをInnodbに変更する操作記録の概要を提供します。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。エディターをフォローして見てみましょう
通常の状況では、mysql はデフォルトで複数のストレージ エンジンを提供します。次の方法で確認できます:
1) mysql に innodb プラグインがインストールされているかどうかを確認します。
次のコマンドの結果は、innodb プラグインがインストールされたことを示しています。
innodb プラグインがインストールされていないことがわかった場合は、次のステートメントを実行して、インストールしてください:
mysql> show plugins; +------------+--------+----------------+---------+---------+ | Name | Status | Type | Library | License | +------------+--------+----------------+---------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | partition | ACTIVE | STORAGE ENGINE | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | | MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL | | InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL | | MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | +------------+--------+----------------+---------+---------+ 7 rows in set (0.00 sec)
2) mysql が現在提供しているストレージ エンジンを表示します: mysql> install plugin innodb soname 'ha_innodb.so';
3) mysql の現在のデフォルトのストレージ エンジンを表示します: mysql> show engines;
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
5 rows in set (0.00 sec)
4) 特定のテーブルが使用しているエンジンを確認します (表示された結果のエンジン パラメーターの後のパラメーターは、テーブルで現在使用されているストレージ エンジンを示します)。
mysql> show create table table name;
mysql> show variables like '%storage_engine%'; +----------------+--------+ | Variable_name | Value | +----------------+--------+ | storage_engine | MyISAM | +----------------+--------+ 1 row in set (0.00 sec)
5) MyISAM ライブラリを INNODB エンジン形式にインポートする方法:
バックアップされた xxx 内のすべての ENGINE=MyISAM を ENGINE=INNODB に置き換えます。 .sql ファイル
6) テーブルを変換するコマンド:
mysql> alter table table name Engine=innodb;
上でわかるように、ローカル mysql で使用されるストレージ エンジンはデフォルトの MyISAN です。ビジネス上の理由から、はい、まずストレージ エンジンを Innodb に変更する必要があります。
操作記録は以下の通りです:
セーフモードで閉じるmysql> show create table wx_share_log;
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------------+------------------------------------------------------------------------------------------------------------------------------------+
| wx_share_log | CREATE TABLE `wx_share_log` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '微信分享日志自增ID',
`reference_id` int(11) NOT NULL COMMENT '推荐的经纪人id',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 |
+--------------+--------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
設定ファイル[root@dev mysql5.1.57]# mysqladmin -uroot -p shutdown
Enter password:
[root@dev mysql5.1.57]# ps -ef|grep mysql
/mysql/dataディレクトリ内のib_logfile0、ib_logfile1を削除します。別の場所を削除または切り取ります。 [root@dev mysql5.1.57]# cp my.cnf my.cnf.old
5) mysqlを起動し、mysqlにログインしてストレージエンジンが切り替わったかどうかを確認します
[root@dev mysql5.1.57]# vim my.cnf
.....
[mysqld]
//在这个配置区域添加下面一行,指定存储引擎为innodb
default-storage-engine = InnoDB
rree
以上がMySQL は MyISAM ストレージ エンジンを Innodb 操作レコードのサンプル コード共有に置き換えますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。