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

MySQL InnoDB database 'hangs' on selects

I'm trying to fix MySQL configuration on our server. Our app's specifics is that a lot of data is stored in single table (currently over 300 millions of rows). This table is used often for inserts (they come all the time). When i run a select query…
kaczor1984
  • 241
  • 1
  • 3
  • 11
10
votes
5 answers

MyISAM for data reads

I have a table with around 1 Billion rows, and its 98% read intensive. I tried tuning the database, with different storage engines (MyISAM and InnoDB) Then ran a few test to view the performance In the where clause I had a primary key ID, and it…
Akash
  • 229
  • 3
  • 7
10
votes
3 answers

Do InnoDB tables got locked during mysqldump when mixed with MyISAM?

I'm looking for a backup solution for my mysql servers and I need as less downtime as possible. I have the following: MySQL servers they are not replicated each server stands for its own This number can grow, so setting up a master/slave…
tounano
  • 221
  • 3
  • 8
10
votes
2 answers

What should I know before going live with an InnoDB database?

What things should a server- or DB-admin know and do before making a InnoDB database available. I'm thinking about things like setting correct values for innodb_buffer_pool_size and innodb_log_file_size So what simple things could you forget to…
Jacco
  • 377
  • 5
  • 15
10
votes
1 answer

MySQL: InnoDB: ERROR: the age of the last checkpoint is X, which exceeds the log group capacity Y?

In a production MySQL environment the following error message is written to /var/log/mysql/error.log every fourth minute: 110723 18:36:02 InnoDB: ERROR: the age of the last checkpoint is 9433856, InnoDB: which exceeds the log group capacity…
knorv
  • 1,799
  • 6
  • 19
  • 29
9
votes
1 answer

MySQL (MariaDB) crashes frequently

I recently migrated an old server running MySQL to a new VPS running MariaDB 5.5. I don't have too much running on the server (just a few PHP sites) and free memory seems to be OK, but the DB keeps crashing--sometimes every few days, other times…
Matt Hamann
  • 193
  • 1
  • 1
  • 8
9
votes
2 answers

Converting big table from MyISAM to Innodb

I have a table with about 300M rows in MyISAM format I want to convert to Innodb My original goal was to reduce usage by changing the table schema to have simpler indexes. I dumped all the table, dropped it, recreated it with less indexes, and am…
Will Glass
  • 927
  • 2
  • 12
  • 21
9
votes
2 answers

How big is too big for ibdata file?

My ibdata file is very large, at least it seems to me to be very large. Is this excessive or not that bad? -rw-rw---- 1 mysql mysql 15G Apr 18 10:11 ibdata1
nachito
  • 245
  • 1
  • 4
  • 11
8
votes
5 answers

How to fine-tune our MySQL server?

MySQL is not my thing, yet I need to fine-tune one of our servers. Here are the requirements/specs: The MySQL server has only one significant database We only have one "type" of application connected to it, and not many instances at the same time…
Julien Genestoux
  • 609
  • 8
  • 19
8
votes
4 answers

How to efficiently dump a huge MySQL innodb database?

I got an Ubuntu 10.04 production MySQL database server where total size of database is 260 GB while size of root partition is itself 300 GB where DB is stored, essentially means around 96% of / is full and there's no space left for storing…
Jagbir
  • 157
  • 1
  • 2
  • 7
8
votes
2 answers

MySQL Slow Writes

Inserts into the following table are taking up to 70 seconds to complete: CREATE TABLE IF NOT EXISTS `productsCategories` ( `categoriesId` int(11) NOT NULL, `productsId` int(11) NOT NULL, PRIMARY KEY (`categoriesId`,`productsId`), KEY…
Ronn0
  • 105
  • 1
  • 7
7
votes
2 answers

How do MyISAM and InnoDB Utilize HD Space?

My MySQL server is running out of HD space fast. Most of my larger tables use the InnoDB engine (for no mission-critical reason). In an effort to avoid the dreaded 'drop database to recover innodb disk-space' response, I'd like to better understand…
Mike B
  • 213
  • 1
  • 3
  • 7
6
votes
3 answers

How do I set the default table type as innodb in my.cnf?

For mysql...is there a way to set it so that every table that gets created is innodb?
Alex
  • 8,471
  • 26
  • 75
  • 99
6
votes
4 answers

How to permanently increase innodb_buffer_pool_size on Ubuntu

I have read lot of posts & manuals to try to find out how to increase memory in MySQL 5.6 on Ubuntu, which say there are 3 methods: By editing innodb_buffer_pool_size in the my.cnf By command line option on starting MySQL Dynamically with SQL…
eos
  • 551
  • 4
  • 10
  • 27
6
votes
1 answer

Is enabling MySQL query_cache_size Innodb Lock Safe?

The query_cache_size looks like the kind of setting that one would usually want enabled which puzzled me since it defaults to 0. Then I read the following about the query_cache_wlock_invalidate setting from the MySQL docs Normally, when one client…
Programster
  • 495
  • 1
  • 13
  • 22
1
2
3
25 26