Is InnoDB enabled or not?

Photo of author

By rasho

InnoDB is a storage engine used by MySQL. It supports commit, rollback and crash-recovery capabilities to protect user data. Very large database are configured on InnoDB due to its maximum efficiency. To maintain data integrity, InnoDB also supports FOREIGN KEY referential-integrity constraints. You can freely mix InnoDB tables with tables from other MySQL storage engines, even within the same statement. To check if you current MySQL setup supports InnoDB you can use the following syntax.

# mysql -u root -p
mysql> SHOW VARIABLES LIKE 'have_innodb';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| have_innodb     | YES    |
+------------------+-------+
1 row in set (0.00 sec)

You can use the following syntax to check the available engines
in your current setup.

mysql> SHOW ENGINESG
*************************** 1. row ***************************
Engine: MyISAM
Support: DEFAULT
Comment: Default engine as of MySQL 3.23 with great performance
*************************** 2. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
*************************** 3. row ***************************
Engine: InnoDB
Support: YES
Comment: Supports transactions, row-level locking, and foreign keys
*************************** 4. row ***************************
Engine: BerkeleyDB
Support: YES
Comment: Supports transactions and page-level locking
*************************** 5. row ***************************
Engine: BLACKHOLE
Support: NO
Comment: /dev/null storage engine (anything you write to it disappears)
*************************** 6. row ***************************
Engine: EXAMPLE
Support: NO
Comment: Example storage engine
*************************** 7. row ***************************
Engine: ARCHIVE
Support: NO
Comment: Archive storage engine
*************************** 8. row ***************************
Engine: CSV
Support: NO
Comment: CSV storage engine
*************************** 9. row ***************************
Engine: ndbcluster
Support: NO
Comment: Clustered, fault-tolerant, memory-based tables
*************************** 10. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
*************************** 11. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
*************************** 12. row ***************************
Engine: ISAM
Support: NO
Comment: Obsolete storage engine
12 rows in set (0.00 sec)

Disable InnoDB

To disable InnoDB just edit the my.cnf file and add the following;

# nano /etc/my.cnf
skip-innodb

Restart mysql after the file has been saved.

# /etc/init.d/mysql restart

Check if it has been disabled.

mysql> SHOW VARIABLES LIKE 'have_innodb';
+------------------+---------------+
| Variable_name | Value              |
+------------------+---------------+
| have_innodb     | DISABLED   |
+------------------+---------------+
1 row in set (0.00 sec)

Leave a Comment