Back when MySQL 5.1 was first released, Oracle (which didn’t at the time own Sun or MySQL) wanted to add new InnoDB functionality faster than MySQL could effectively incorporate it into the server, and the InnoDB plugin was introduced. It provided 5.1 users the option of deploying a more advanced version of InnoDB, or using the more conservative built-in version baked into MySQL. By the time the plugin reached GA status, though, Oracle had announced the acquisition of Sun (and MySQL), and things started to change. The coordination between the InnoDB development team at Oracle and the MySQL development team increased once we were all “under one roof”. The strategic directions of InnoDB and MySQL were aligned, and the results can be seen in the tremendous work done for MySQL 5.5 and 5.6. In fact, the InnoDB plugin was removed with MySQL 5.5:
The built-in InnoDB storage engine within MySQL is the original form of distribution for the storage engine. Contrast with the InnoDB Plugin. Starting with MySQL 5.5, the InnoDB Plugin is merged back into the MySQL code base as the built-in InnoDB storage engine (known as InnoDB 1.1).
This distinction is important mainly in MySQL 5.1, where a feature or bug fix might apply to the InnoDB Plugin but not the built-in InnoDB, or vice versa.
One artifact of the “two different InnoDB engines” introduced with the plugin remains: the ignore_builtin_innodb configuration option. As of 5.6.5 and later, that option is now deprecated, and has no effect:
D:\mysql-5.6.5-m8-win32>bin\mysqld –no-defaults –console –port=3307 –ignore-builtin-innodb
120531 10:54:30 [Warning] ignore-builtin-innodb is ignored and will be removed in future releases.
Since MySQL 5.5, we’ve focused on and invested in InnoDB as a core element and default storage engine for MySQL. As such, in 5.5, we removed the InnoDB plugin. And now with 5.6, we are eliminating the option to disable InnoDB.
Would it still be possible to run MySQL without InnoDB? e.g. when only MyISAM, NDB or TokuDB is used?
Hi Daniel,
The MySQL server can still be started without InnoDB in 5.6, provided you specify –default-storage-engine and –default-tmp-storage-engine:
C:\mysql-5.6.6-m9-winx64>bin\mysqld –no-defaults –console –port=3307 –skip-innodb –default-storage-engine=myisam –default-tmp-storage-engine=myisam
120901 13:29:20 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
120901 13:29:20 [Note] Plugin ‘FEDERATED’ is disabled.
120901 13:29:20 [Note] Plugin ‘InnoDB’ is disabled.
120901 13:29:20 [Note] Server hostname (bind-address): ‘*’; port: 3307
120901 13:29:20 [Note] – ‘::’ resolves to ‘::’;
120901 13:29:20 [Note] Server socket created on IP: ‘::’.
120901 13:29:20 [Note] Event Scheduler: Loaded 0 events
120901 13:29:20 [Note] bin\mysqld: ready for connections.
Version: ‘5.6.6-m9’ socket: ” port: 3307 MySQL Community Server (GPL)