Questions tagged [innodb]

InnoDB is the main ACID-compliant Storage Engine used in MySQL.

InnoDB is the ACID-compliant Storage Engine used in MySQL. InnoDB also features the use for MVCC (Multiversion Concurrency Control) to support Transaction Isolation Levels for InnoDB. InnoDB is not a standalone database product. It has been distributed as a part of the MySQL database during its early years of InnoBase Oy as a partner with MySQL AB.

In the early days of MySQL, InnoDB was made available to MySQL as an additional transactional storage along with BDB. The company that developed InnoDB, InnoBase Oy, was purchased by Oracle in October 2005. Percona has contributed great improvements to its own Open Source version of InnoDB (XtraDB). Oracle, who eventually became the owner of MySQL via purchasing Sun, has incorporated most of those changes into InnoDB, as well adding improvements of their own. As a result, InnoDB has transformed into a more mature storage engine that handles mulitprocessing and multithreading more robustly. As of December 2010, InnoDB has become the default storage engine for MySQL 5.5.

MySQL 5.5 also has enhancements to facilitate InnoDB in engaging multiple CPUs. Those enhancements were introduced in MySQL 5.1.38 in the InnoDB Plugin only. Those enhancements have now been included with MySQL 5.5.

MySQL 5.5 also comes with new features such as Semisynchronous Replication, Multiple InnoDB Buffers Pools, plugins for user-defined authentication, performance metrics instrumentation, and more !!!

In a recent Oracle press release, one of the new features for MySQL 5.6 is to have InnoDB with FULLTEXT searching. This will be a major step forward for this storage engine as this was one of the most requested and sought after features.

The basic infrastructure of InnoDB centers around three major files

  • ibdata1
  • ib_logfile0
  • ib_logfile1

In conjunction with memory structures, ibdata1 processes info for 6 basic data structures

  • Table Data Pages
  • Table Index Pages
  • Table MetaData (List of Tablespave IDs + Misc Info)
  • MVCC Records
    • Rollback Segments
    • Undo Space
  • Double Write Buffer (Allows Background Page Writes)
  • Insert Buffer (For Collecting/Processing Changes to Secondary Indexes)

Configurations can accommodate

  • Separating Table Data and Index Pages
  • Storing ibdata1 in a Raw Disk Partition
  • Creating Multiple ibdata Files
  • Creating multiple Log Files
  • and more...

There is important cache known as the InnoDB Buffer Pool. As of MySQL 5.5, you can configure multiple buffer pool instances. Prior to MySQL 5.5, there is only one buffer pool instance.

388 questions
6
votes
3 answers

1286 - Unknown storage engine 'InnoDB'

I am trying to use roundcube and it recently just broke. I don't know if this is due to a MySQL update that happened recently or not but in phpMyAdmin I get the following error if I try and view a table: 1286 - Unknown storage engine…
Tiffany Walker
  • 6,681
  • 14
  • 56
  • 82
6
votes
1 answer

MySQL, check & enable binary logs

I am running MySQL 5.1.47 on CentOS. How do I check if binary logging for InnoDB is active? How do I enable binary logging if they are not enabled? Just run? mysqld --log-bin
Adrien Hingert
  • 309
  • 2
  • 3
  • 9
6
votes
3 answers

Picking the right innodb_buffer_pool_size

I have a 24GB machine running MySQL (only InnoDB tables). My innodb data set is 11.5GB big, and i have set my innodb_buffer_pool_size to 14GB to allow some growth. So the entire innodb data set is loaded into the ram, which is good. But today i…
Mr.Boon
  • 1,471
  • 4
  • 24
  • 43
6
votes
2 answers

Way to avoid server downtime when creating Master - Slave relationship?

I am preparing for setting up a MySQL master-slave or master-master relationship. Right now I have a single MySQL production server, and of course I don't want a lot of downtime while I connect the slave. Is there no way I can make connect an empty…
Prof. Falken
  • 302
  • 7
  • 17
6
votes
1 answer

MySQL show table status always returns Data_free 17825792

When I execute SHOW TABLE STATUS databaseName; I get Data_free info with 17825792 value in all tables : | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free |…
corretge
  • 217
  • 3
  • 9
6
votes
2 answers

Good/Better config for MySQL on an EC2 Large Instance

I have an EC2 Large instance dedicated to MySQL. It will be serving a Joomla/Magento combo so it has a blend of InnoDB and MyISAM tables. I have only worked with MyISAM in the past and am therefore unfamiliar with the settings InnoDB uses.…
Tim Reynolds
  • 171
  • 1
  • 6
6
votes
1 answer

what is gen_clust_index used for in mysql?

It seems I have a deadlock in mysql (running innodb) that's due in part to a lock on gen_clust_index, however, this isn't a table that I've created. So... what's the short and sweet description of gen_clust_index and it's use and purpose in mysql.
Langley
  • 163
  • 1
  • 4
6
votes
3 answers

Why do MySQL queries pile up in "Sending data" state?

We're using InnoDB tables as the back end of a web application, and everything was fine for about two years until we had to restart MySQL a few weeks ago. (We hadn't disabled reverse DNS lookups, even though we weren't really using them, but our…
eswald
  • 231
  • 1
  • 2
  • 6
5
votes
5 answers

phpMyAdmin showing database is MyISAM but tables are InnoDB

Is it possible for a database to be of one type (MyISAM) and the tables to be of another type (InnoDB) or is this a bug in phpMyAdmin? It is showing exactly that. Picture Here…
Brian Armstrong
  • 1,617
  • 3
  • 19
  • 22
5
votes
1 answer

How to drop an 8 GB InnoDB table smoothly without global locks

MySQL version: 5.1.63. I am about to DROP a bigger ~8 GB InnoDB table. Last week I dropped a four times bigger table on another machine and a global lock kicked in that took us down for ~90 seconds. I suspect it has to do with table_cache lock.…
Ztyx
  • 1,385
  • 3
  • 14
  • 28
5
votes
2 answers

INNODB mysql. Plugin disabled

When I startup mysql on my unbuntu server I will get a message. 121122 17:39:37 [Note] Plugin 'FEDERATED' is disabled. 121122 17:39:37 InnoDB: The InnoDB memory heap is disabled 121122 17:39:37 InnoDB: Mutexes and rw_locks use GCC atomic…
alexcunn
  • 51
  • 1
  • 2
5
votes
2 answers

Reclaim disk space after deleting Magento MySQL database

I needed to reclaim some disk space so I removed an old Magento database from my server. The database size was around 16 GB. I was surprised that once the database was deleted, it did not really free up that disk space. I tried restarting the MySQL…
Josh Pennington
  • 288
  • 1
  • 6
  • 21
5
votes
2 answers

Why is MySQL is using so many temporary tables?

Can any configuration mistake lead to creating too many temp tables by mysql..mysql tuner shows Current max_heap_table_size = 200 M Current tmp_table_size = 200 M Of 17158 temp tables, 30% were created on disk table_open_cache = 125…
ananthan
  • 1,510
  • 1
  • 18
  • 28
5
votes
2 answers

Disk I/O utilization up to 100% after tuning InnoDB-related MySQL configuration

I have added following lines to "my.conf": query_cache_size=128M innodb_buffer_pool_size=512M innodb_flush_method=O_DIRECT After that Disk utilization started raising, reached 100% and holds steady, also CPU is up a bit because of Disk I/O related…
spacemonkey
  • 217
  • 1
  • 3
  • 8
5
votes
3 answers

Huge #sql-xxxx_xxxx.ibd files in mysql-data folder

On one of our mysql databases the size on disk is way larger (28GB) than the actual data (~5GB) so I had a closer look to the files contained in mysql-data I see the following files 12K #sql-5254_eaa3.frm 8.9G #sql-5254_eaa3.ibd 12K …
webgr
  • 213
  • 1
  • 2
  • 7
1 2
3
25 26