How can I determine type of mysql database : whether it is InnoDB or MyISAM?
To determine the storage engine being used by a table, you can use show table status
. The Engine
field in the results will show the database engine for the table. Alternately, you can select the engine
field from information_schema.tables
:
select engine
from information_schema.tables
where table_schema = 'schema_name'
and table_name = 'table_name'
You can change between storage engines using alter table
:
alter table the_table engine = InnoDB;
Where, of course, you can specify any available storage engine.
SHOW TABLE STATUS FROM `database`;
will list everything for all tables, starting with whether they are MyISAM or InnoDB. if you desire to list only data regarding 1 table, the syntax below may be used* :
SHOW TABLE STATUS FROM `database` LIKE 'table';
to change the table engine:
ALTER TABLE `table` ENGINE=InnoDB;
*attention use the GRAVE ACCENT (` backtick) for the database name and the table name and the SINGLE QUOTE (') for the comparison string (portion of table name) after LIKE.
` != '
Select the database in question and run show table status;