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

MySQL: Increased buffer pool, ibdata1 corrupt?

I tried increasing innodb_buffer_pool_size via my.cnf from default 128m to 256m, but on restart attempt, mysql shutdown failed with: 130125 11:49:55 InnoDB: Initializing buffer pool, size = 256.0M 130125 11:49:55 InnoDB: Completed initialization of…
virtualeyes
  • 675
  • 3
  • 12
  • 28
0
votes
1 answer

Recovering InnoDB

Bit of tough situation. Running MySQL 5.5 on Ubuntu 12.04. Looking to add some functionality to our internal site, I installed Kaltura. In doing so, my existing MySQL databases seemed to lose all their data. The databases were still listed, but…
dwpriest
  • 1
  • 4
0
votes
1 answer

innodb corrupt tables

Running shared hosting cpanel box with Mysql 5.5. Restoring or packaging (using pkgacct) is giving off some serious database errors, on multiple various users sum_joom954.jos_wf_profiles OK warn [pkgacct] sum_joom954: mysqldump: Couldn't execute…
user148117
0
votes
1 answer

MySQL too many connections during normal conditions (Percona, InnoDB)

We're getting too many connections errors in normal conditions, so I'm assuming it's a configuration issue. Four webservers, not using persistant connections partly because that triggers to the too many connections error too quickly. See more about…
Jonathan Hendler
  • 282
  • 1
  • 4
  • 10
0
votes
2 answers

Changing innodb_buffer_pool_size on the fly

I'm wondering if it's possible to change the innodb_buffer_pool_size on the fly. It looks like the buffer pool has been over allocated on my server and it's swapping now. I've changed this value on the slave server, restarted the MySQL daemon and…
HTF
  • 3,148
  • 14
  • 52
  • 82
0
votes
1 answer

Why does MySQL use a different index for my query in different versions?

I have a large-ish InnoDB table (about 800MB), and I'd like to count rows. I know SELECT COUNT(*) has issues in InnoDB, but one of the solutions I've seen is to create a secondary index, which is much faster than chewing through the PRIMARY, at…
Coderer
  • 113
  • 4
0
votes
2 answers

Optimal MySQL my.cnf setting for large Magento site on a dedicated server

Our dedicated server is running a large Magento store with a MySQL database approximately 250MB in size. The server spec is listed as having 5 Xeon 2Ghz processors (4MB cache) and 12GB of memory. I'd have thought the above spec was sufficient to run…
Larry B
  • 261
  • 4
  • 5
  • 18
0
votes
1 answer

In MySQL 5.1 InnoDB, does the maximum length of a VARCHAR affect secondary index size?

Assuming the data is the same either way, does the maximum length of the VARCHAR affect the space usage of a secondary index? Does InnoDB use fixed length records for indexes? Assume that we're talking about MySQL 5.1, with the InnoDB COMPRESSED…
e_tothe_ipi
  • 478
  • 2
  • 3
0
votes
4 answers

Percona-xtrabackup hot backup issue with MyIsam Engine

We are running with the MyIsam Engine and Percona-xtrabackup is throwing the following error as the inndb engine is skipped [ my.cnf skip-innodb]. How could I resolve this issue with out enabling the inndb engine? percona-xtrabackup-2.0.0/bin:#…
arn
  • 91
  • 2
  • 7
0
votes
2 answers

What causes "InnoDB: Corruption of an index tree" error

Today I experienced this error a second time in two weeks and I wonder why that is? Is it more a hardware- or software-related thing? (e.g. what should I check?) That DB server didn't have any problems until now...
Michael Siebert
  • 213
  • 2
  • 7
0
votes
2 answers

MySQL server crashes InnoDB

Today we got some DB crash. The DB is InnoDB. At firstin log: 120404 10:57:40 InnoDB: ERROR: the age of the last checkpoint is 9433732, InnoDB: which exceeds the log group capacity 9433498. InnoDB: If you are using big BLOB or TEXT rows, you must…
martin
  • 73
  • 3
  • 12
0
votes
1 answer

Safe conversion from one InnoDB(ibdata) file to innodb file per table

I have MySQL database with tables on InnoDB engine. But server is configured to use only one file ibdata0 without parameter innodb_file_per_table. I want to change this without making dump and restore it on reconfigured server. So my plan was to add…
B14D3
  • 5,188
  • 15
  • 64
  • 83
0
votes
2 answers

MySQL InnoDB database 'hangs'

I have a problem with a MySql server causing it to freeze all the time. In phpMyAdmin when this happens I can see in "Show Processlist" are lots of processes for User "unauthenticated user" with Command "connect" and State "reading from net". The…
Martin
  • 379
  • 1
  • 3
  • 11
0
votes
1 answer

installing mysql innodb engine on redhat box

I'm using SL6.1 on an X86-64 server box. For whatever reasons, it looks like the stock RHEL-anything is not going to be including the mysql innodb engine anytime in the foreseeable future: https://bugzilla.redhat.com/show_bug.cgi?id=740224 Any…
user52874
  • 829
  • 2
  • 12
  • 26
0
votes
3 answers

MySQL server not starting up

I have a server running CentOS 5.5 x86_64, and have recently installed MySQL Server via YUM, but when starting the server I get: [root@server etc]# service mysqld start Warning: World-writable config file '/etc/my.cnf' is ignored Warning:…
Justin
  • 222
  • 4
  • 12