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
1 answer

Moved mySQL to an EBS volume, now innoDB performs very slowly

Hello has anyone had a similar problem to this.. I've set up a new instance on Amazon EC2 for a client. I've also attached a 250GB EBS volume to hold the files and configured mySQL to use the EBS volume. Following…
williamsowen
  • 1,167
  • 3
  • 16
  • 25
0
votes
1 answer

mysql innodb broken, after hostname change

Gents, Have a mysql cluster down right now... in dev, but down nonetheless. This occurred after a hostname change on both nodes. InnoDB: Check that you do not already have another mysqld process InnoDB: using the same InnoDB data or log…
CMag
  • 707
  • 2
  • 11
  • 32
0
votes
2 answers

I had to recover InnoDB tables from my backup, but mysql is crashing

I just recovered my InnoDB tables from my backup (copied ibdata1, ib_logfile1, ib_logfile0) However, when I start mysql now, and try to access my site with InnoDB tables, *I get these errors Got error -1 from storage engine MySQL server has gone…
genesis
  • 343
  • 4
  • 15
0
votes
1 answer

How to prevent InnoDB log files from getting corrupted?

We run a MySQL server using 600GB of storage over 4 EBS volumes on Amazon EC2. About every 2-3 weeks, the active InnoDB log file gets corrupted, and MySQL won't allow any access on those tables (saying that the InnoDB engine is disabled) until we…
0
votes
2 answers

MySQL: view read/write proportion, per specific table

I'm optimizing the configuration of a MySQL server, running only Bromine. This is non specific to application, and was just noted for completeness. I am trying to determine if switching from MyISAM to InnoDB is a better option, on few write dominant…
J. M. Becker
  • 2,471
  • 1
  • 17
  • 21
0
votes
2 answers

mysql error InnoDB: 13

mysql not started @ server boot automatically but I can start manually as long as log as user "mysql" by using "/etc/init.d/mysql.server" the error I got on the log is InnoDB: Operating system error number 13 in a file operation. InnoDB: The error…
Dan
0
votes
1 answer

Cannot start MySQL on windows box with named pipes

I've installed MySQL server on Windows although in the configuration have selected to not run MySQL as a server and have disabled TCP/IP access so only named pipes can be used, I'm now having problems getting the server running. Below is the output,…
R4D4
  • 189
  • 6
0
votes
2 answers

MySQL fails to start with one config line change - innodb_buffer_pool_size = 1G

My curent config works great but my innodb_buffer_pool_size is too small as the database is very large. All I am changing in my MySQL.cnf is innodb_buffer_pool_size = 1G to innodb_buffer_pool_size = 2G I then try and restart MySQL and it errors…
0
votes
1 answer

MySQL 5.1 to 5.5 Upgrade - InnoDB question

I posted this on stackoverflow, but was advised that here might be better... I am planning an upgrade of some MySQL servers (5.1 to 5.5). I am aware that the InnoDB plugin is now built in to MySQL. Currently we use the InnoDB plugin... When…
0
votes
2 answers

MySql is not picking up changes to my.cnf file on a custom Ubuntu AMI. How do I fix this?

I created an AMI from my running EC2 Ubuntu instance. I then brought it up, and MySql is not running the same way on this copied instance. 1) Changes to my my.cnf file are not getting picked up. 2) I am unable to query my database as it gives me…
cone
  • 101
  • 1
0
votes
1 answer

MYSQL delete optimization

I have the following delete SQL statement: delete w,r from table1 w, table2 r where (w.status=1 or r.status=1) show engine innodb status shows the following. is the read rate(237.29 reads/s) referring to the reads after the filter(where)…
user12145
  • 1,115
  • 6
  • 28
  • 47
0
votes
1 answer

Mysql: Innodb error when migrating mysql from linux to windows

I have migrated my data directory for an InnoDB mysql server from a linux machine to a windows machine. I started the server up, selected the database, and tried to query a table. Got the error "Table does not exist", however it is shown in the…
coderego
  • 175
  • 2
  • 8
0
votes
1 answer

Strange MySQL table problem

I have copied the /var/lib/mysql/mydbname db to a new machine from a crashed server (booted using a live cd) but now I cannot access the tables within the db... All the tables only have a .frm extension, so I am assuming they are InnoDB. They appear…
Christian
  • 789
  • 1
  • 13
  • 31
0
votes
3 answers

Explaining the MySQL Indexing

On my journey exploring MySQL and its advanced features, especially regarding the performance optimization I bumped in some extremely important feature for SQL performance improvement mos of us knows just as "Index" I went on with some…
Cninroh
  • 268
  • 3
  • 13
0
votes
1 answer

Unable to start mysqld due to inability to allocate memory

I'm unable to start mysqld due to it being unable to allocate enough memory. I've installed the DB using the defaults: sudo mysql_install_db --user=mysql Then when I try to start mysqld, I get this: name@host:/var/lib/mysql$ sudo mysqld…
Outspaced
  • 103
  • 1
  • 4