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

Can transactions be forced to occur sequentially in MySQL?

Let's say that I have two servers that simultaneously initiate a transaction on a MySQL 5.5 database using InnoDB. Both transactions do the same thing: Read a single row, then update the row based on its contents. I want to ensure that the two…
Trevor Burnham
  • 364
  • 2
  • 3
  • 16
0
votes
1 answer

A Most Puzzling MySQL Problem: Queries Sporadically Slow

This is the most puzzling MySQL problem that I've encountered in my career as an administrator. Can anyone with MySQL mastery help me a bit on this?: Right now, I run an application that queries my MySQL/InnoDB tables many times a second. These…
0
votes
2 answers

MySQL - Innodb, search

I recently switched from myisam to innodb in one of my mysql tables. Before i was using MATCH(). Since innodb doesn't support match() i decided to use LIKE. Now I have a problem. My table is 190,6 MiB big and have 234,083 rows. When I use LIKE my…
Erik
  • 125
  • 1
  • 3
0
votes
1 answer

Import from *.sql into mysql... IBD files missing

Running ubuntu 10.10, MySQL, I imported a set of databases from a backup. The import looks OK - I can query the databases and see data in them. The strange thing is that in the /var/lib/mysql/ folder there exists only *.frm files and not the *.ibd…
NinjaCat
  • 576
  • 1
  • 9
  • 21
0
votes
2 answers

changing innodb_buffer_pool_size makes error

i want to increase my innodb_buffer_pool_size value to get some more performance and when i try, my select queries arises error such as "Incorrect information file in .." i'm just adding innodb_buffer_pool_size = 1G innodb_log_file_size =…
0
votes
2 answers

Is it ever safe to set innodb_flush_log_at_trx_commit=0?

I have a server (Dell PE2950) with a battery-backed write cache on the raid controller. Is it safe for me to set innodb_flush_log_at_trx_commit=0 on a mysql server with data files stored on a raid0 volume? Would there be a different answer if the…
mikewaters
  • 1,175
  • 1
  • 14
  • 27
0
votes
2 answers

SHOW ENGINES; does not list InnoDB

Since yesterday, my InnoDB tables in my Mysql installation on Ubuntu don't work anymore, I tried to open them using Navicat, but I get the "Unknown Table engine 'InnoDB'" error. When I try listing all Engines using Show Engines; it…
Thizzer
  • 105
  • 5
0
votes
1 answer

mySQL process overloading server - Need Help

I ran into an issue the last few days, I have a database server 2 Quad Core Processors and 24 gb of ram, recently we have come across a big issue the server is running normally at about 130% cpu then it will just randomly spike to 750% pretty much…
William
  • 133
  • 3
0
votes
1 answer

MySQL innodb has lots of processes hanging in "update" state once every minute

Description of problem I have a fairly large MySQL installation. There are at least 3 separate servers which run the innoDB storage engine. Once every minute, at the same time each minute, for about 3-4 seconds, each of my innodb machines suddenly…
Mike Sherov
  • 113
  • 1
  • 7
0
votes
1 answer

MySQL ibdata1 permissions error on cloned EC2 instance

I am trying to get a Rails app running on a cloned EC2 instance and am running into some permissions issues with my ibdata1 file. On the original instance, everything behaves as expected. However, on the cloned instance, I am seeing the following…
Kyle S
  • 101
  • 2
0
votes
1 answer

Fail to set innodb as default engine on Ubuntu 10.04

I've got a problem setting innodb as the default database engine in MySQL 5.1 on Ubuntu 10.04. As soon as I switch to innodb as default engine the server refuses to start. This is what I get in the syslog when I try to start MySQL after enabling…
John P
  • 195
  • 2
  • 9
0
votes
2 answers

Mysql start fails with Operating System error 13

I have XAMPP on my Ubuntu Lucid system and everything worked fine. But there seems to be some problem now and mysql wouldn't start. I had tried to recover a few Drupal databases and hence copied the raw files to /opt/lampp/var/mysql folder like…
jitendra
  • 109
  • 1
  • 5
0
votes
1 answer

Mysql file backup

I moved my sites from one windows 2003 to windows 2008 web server. I have some php forum, I copy the data directory of mysql from old server to new one. there are some databases that when I check by PHPmyadmin I see hast 230 tables but when I try to…
Ashian
  • 400
  • 1
  • 7
  • 24
0
votes
1 answer

MySQL Server - Got error -1 from storage engine

I am currently trying to restore a MySQL table from the .ibd file. I have been following the instructions on the MySQL reference manual on how to use DISCARD and IMPORT TABLESPACE to replace the .idb files. Discarding the tablespace returns no error…
Bobby
0
votes
4 answers

Unable to enable InnoDB in mySQL on Ubuntu 10.04

I am trying to enable InnDB on my linux server. I have installed Ubuntu 10.04 JeOS on an ESX server. I then installed mySQL and tomcat using aptitude. However when I use SHOW ENGINES; in mySQL it does not appear that InnoDB was installed. I then…
spowers
  • 143
  • 1
  • 5