ホームページ >データベース >mysql チュートリアル >MySQL は MyISAM ストレージ エンジンを Innodb 操作レコードのサンプル コード共有に置き換えます

MySQL は MyISAM ストレージ エンジンを Innodb 操作レコードのサンプル コード共有に置き換えます

黄舟
黄舟オリジナル
2017-03-23 13:40:231491ブラウズ

以下のエディターは、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 に変更する必要があります。

操作記録は以下の通りです:

1) mysqlを

セーフモードで閉じる

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)

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


3) 変更my.cnf

設定ファイル

[root@dev mysql5.1.57]# mysqladmin -uroot -p shutdown
Enter password: 
[root@dev mysql5.1.57]# ps -ef|grep mysql

4)

/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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。