Set InnoDB as Default for New MySQL Tables


#1

Is there a way to set the default engine for new tables in MySQL to InnoDB?

MTIA


#2

I’m not even sure this is up to the original creation of the database. Which software are you using? I thought it was up to the software to decide how it wants to use the database.

-Scott


#3

I’ve looked at the DH Control Panel for any way to set this, and also phpMyAdmin, but I haven’t found anything that suggests I can set a default engine for new tables.

I believe there is a setting in the MySQL config file, but we wouldn’t have access to that I guess.


#4

I need this, too!

I am working with mysql workbench. When I’m working within the model everything’s fine until I try to forward engineer or synchronize my schema:

Because Workbench will add the foreign key constraints into the initial CREATE TABLE query, the server throws an error, because the engine is set to myISAM by default.

I have the ability to select innoDB as the default engine in workbench, but that’ll only make a difference when I use the “create table” function in workbench (a dropdown will be preselected). Just running a plain “create table” without any parameters will create a myISAM table.

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

This tells you how to change the default storage engine, but I think that’s something that has to be done on DreamHost’s end.

After all, DreamHost clearly recommends to use innoDB: http://wiki.dreamhost.com/MyISAM_versus_InnoDB_tables

Again: Without this setting it’s gonna be a pain in the butt to sync your server Schema with any Models that were created offline, at least when working with workbench.

I hope somebody from DreamHost reads this forum!