2012-04-24 11 views
7

私は現在、MySQLのすべてのデータベースに対してInnoDBを使用していますが、私のinformation_schemaデータベースはMEMORYではないテーブルに対してMyISAMを使用しています。MySQLデータベースエンジン:info_schemaのMyISAMですが他のデータベースのInnoDB

私はInnoDB/MyISAMの問題を調査中です。私はこれが原因だとは思わないが、私はこの混合について心配している。データベースはもともとMyISAMで設定されていました。その後、エンジンをInnoDBにリセットするためにmy.cnfファイルが更新されました。私はMySQL 5.5.10を使用しています。

information_schemaデータベースがMyISAMに設定されているにもかかわらず、他のすべてのデータベースがMySQLに設定されていると、どのような問題が起こる可能性がありますか?ヘルプをお探しの方に


あなたは答えの検索でこの質問に出くわしたか、あなたのデフォルトのデータベースエンジンを見て、もっと知りたい場合は、次の

show variables; 

show table status; 

私のmy.cnfの設定:データベース内のテーブルに割り当てられたエンジンを参照してください

[client] 
default-character-set=utf8 

[mysqld] 
log=/usr/local/var/mysql/mysqld.log 
character-set-server = utf8 
collation-server = utf8_general_ci 
lower_case_table_names=2 
default_storage_engine=InnoDB 

# Performance hacks: 
innodb_flush_method=nosync 
innodb_flush_log_at_trx_commit=0 

答えて

4

使用されるストレージエンジンは、テーブル単位であります。デフォルトのストレージエンジンは、新しいテーブルを作成するときに使用され、新しいテーブルにストレージエンジンを指定しません。

デフォルトのストレージエンジンの設定に関係なく、システムテーブルはMyISAMでした。 MySQL documentationから

重要

のInnoDB型に(例えば、ユーザ やホストなど)MySQLデータベースにMySQLのシステムテーブルを変換しないでください。これはサポートされていない操作です。 システムテーブルは、常にMyISAMタイプでなければなりません。

information_schemaテーブルを直接照会していない場合は、タイプを混在させることはありません。

関連する問題