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
4
votes
2 answers

Setting MySQL INNODB Compression KEY_BLOCK_SIZE

I recently started using the Barracuda InnoDB/MySQL table format which allows compression. I compressed one of my tables by running: alter table pricing row_format=compressed, key_block_size=8; After I ran this I viewed the compression statistics (I…
Nick
  • 301
  • 2
  • 10
4
votes
2 answers

InnoDB "log sequence in the future!" crashing, won't start

I stopped mysql only to find that it wouldn't come back up, /etc/init.d/mysql start only outputs . . . . . . failed. I've narrowed it down to an issue with InnoDB. The database starts when innodb_force_recovery = 5 and nothing lower. When I…
kevmo314
  • 153
  • 1
  • 1
  • 7
4
votes
1 answer

Mysql InnoDB table size performance

I have a table that is closely approaching 2 million records. This table stores a history of transactions. This is on a high traffic website but also the table is not accessed regularly. We currently have no slow queries due to this table, but am…
pablo
  • 3,040
  • 1
  • 19
  • 23
4
votes
2 answers

How much disk space does innodb need to ALTER TABLE

I have a large InnoDB table that I want to alter by adding a small column to. I'm prepared to wait a while, but I'm wondering how much disk space will the ALTER TABLE command consume while it's running? Will I need enough room on my disk for two…
Leopd
  • 1,757
  • 4
  • 24
  • 30
4
votes
1 answer

innodb memory usage mysql

I have a small vps, with only 256mb of ram, with maximum burst up to 512mb. When I configure my vps without innodb, it only uses 130 mb of ram, so that is no problem for me. But when I turn on innodb, The memory usage grows to about 300-400 mb. Is…
Tiddo
  • 1,019
  • 1
  • 9
  • 16
4
votes
1 answer

Changing MySQL tmpdir kills InnoDB functionality

I've got a query that keeps failing because I don't have enough temporary space available. So, I created a directory on a different partition at /data/tmp, chmoded this directory to 777, and updated my.cnf to read: tmpdir = /data/tmp. I'm able to…
Brennon Bortz
  • 205
  • 2
  • 8
4
votes
1 answer

mysql INNODB inserts very slow

The database's schema is as follows. CREATE TABLE `items` ( `id` mediumint( 8 ) unsigned NOT NULL AUTO_INCREMENT , `name` varchar( 45 ) NOT NULL , `main_type` tinyint( 4 ) NOT NULL , `rarity` tinyint( 4 ) NOT NULL , …
133794m3r
  • 155
  • 1
  • 8
4
votes
2 answers

What is the difference between MySQL Community Edition and Classic Edition?

With the news of Oracle pulling the InnoDB engine from MySQL Classic Edition, you now need to use MySQL Community Edition to get InnoDB for free. Oracle doesn't really make it clear what is different between Community Edition and the rest of the…
Drew Stephens
  • 662
  • 7
  • 12
4
votes
1 answer

MySQL data recovery (innoDB) - missing .frm files but intact ibdata

A recent server fiasco left me with a by-all-appearances intact ibdata file but only half of my .frm-containing directories. I've copied all of this to a fresh mysql install, and have successfully recovered the databases which I still had .frm files…
bhaibel
  • 173
  • 1
  • 5
4
votes
2 answers

Guaranteeing ACID properties for InnoDB databases

What steps must one take to ensure that an otherwise defaultly-configured InnoDB server is truly ACID compliant? The InnoDB configuration page mentions that the hardware itself must be configured to honor fsync calls, i.e. disable any write-back…
plinehan
  • 675
  • 1
  • 5
  • 6
3
votes
4 answers

MySQL on VM, High IO Wait but low TPS

We are trying to figure out a strange situation on our MySQL installation on VM. We are on Mysql 5.7 and RHEL 7 with XFS. We are observing when we run a few select queries the IOWait races up to 40-50% while we see the Disk Read speeds dont cross…
3
votes
1 answer

Multiple files found for the same tablespace ID

After a management over-sight, the hard disk utilization of the mysql server went to 100%. In panic, I shut down most of the services - including mysqld, which I guess caused this problem. Subsequently, I deleted files to make space. With more than…
Lawrence
  • 31
  • 1
  • 2
3
votes
0 answers

MariaDB on Windows - InnoDB hang on table conversion to MyISAM

This is a bit of a strange one (and a big post, sorry), i am working with a customer who runs MariaDB on Windows (Server 2008 R2). They have several large MyISAM tables (up to 30 GB each, 200+ million rows) and for several reasons i'm converting…
localhost
  • 226
  • 1
  • 6
3
votes
1 answer

Mysql cannot start - Could not find valid tablespace file for

My mysql service is currently unable to start with the error InnoDB: Could not find a valid tablespace file for 'wowcher/temp_import'. I think I know what the issue is. I have a PHP script which imports CSV files into a temporary table before…
Edward144
  • 153
  • 2
  • 2
  • 5
3
votes
2 answers

Mysql innodb_buffer_pool_size in relation to innodb_buffer_pool_instances

I run a virtual server with an Owncloud installation on it. Now Owncloud has the problem that the way it's developed at the moment, each file upload causes a little MySql overhead. So is very important to tweek the MySql database as good as…
TheMAn
  • 31
  • 1
  • 1
  • 3