简体   繁体   中英

How to change the storage engine type on MySQL?

I would like to use InnoDB as the storage engine on all my tables and databases. Is there a command I can run to change the type of my current tables to use InnoDB instead of MyISAM?

Also, is there a way to set this as the default so I don't have to do this again?

To change the storage engine of an existing table:

ALTER TABLE my_table ENGINE = InnoDB;

To set InnoDB as default:

Normally, this is MyISAM, but you can change it by using the --default-storage-engine or --default-table-type server startup option, or by setting the default-storage-engine or default-table-type option in the my.cnf configuration file.

The following article will tell you how to set the default storage engine, how to explicitly use a specific engine during a CREATE TABLE command, and how to change the storage engine of existing tables:

http://dev.mysql.com/doc/refman/5.1/en/storage-engine-setting.html

If you use are using the mysql workbench there is a script menu option to change the engine of all tables.

Select Plugins > Utilities > Change storage engine of all all tables.

Today in latest versions of MySQL DB, by default InnoDB comes as default DB Engine. We can check by : (in CMD)

mysql> show engines;

or

mysql> select * from information_schema.engines;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM