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

What is the maximum number of words allowed in a MariaDB InnoDB Full Text Search query

I recieved this error when performing a search with 746 words (it wasn't intentional someone pasted text into the wrong box). HA_ERR_FTS_TOO_MANY_WORDS_IN_PHRASE: Too many words in a FTS phrase or proximity search The server is using MariaDB…
Rwky
  • 774
  • 1
  • 8
  • 17
2
votes
1 answer

Mysql high cpu usage (over 600%)

The server has 8core CPU and 22 GB of ram. Every day receives many requests from users, and recently a replication mechanism has been activated, with an implementation of a db master and a slave. Now the server is really slow (on ssh top, mysqld…
anto
  • 21
  • 1
  • 2
2
votes
1 answer

MySQL server (mariadb) auto shutdown without overload

With old configs, my VPS (1 CPU, 1 GB RAM, 1 GB swap) works normally for almost 2 years. I didn't change anything from beginning. But I have this issue several days ago, MySQL server automatically shut down, while watched via DO Graph monitoring, I…
Phong Thai
  • 21
  • 1
  • 5
2
votes
1 answer

How do I backup a database to a .sql statement?

How do I backup a database to a single SQL file? After it's backed up, how can I load it/restore the database with InnoDB? It must be InnoDB.
Alex
  • 8,471
  • 26
  • 75
  • 99
2
votes
4 answers

Which operating systems are used by large social networking companies?

I often see that Apache is used as a web server and also ruby on rails, php and so on is used. So all in all the most large social network companies using unix operating systems. Because I want to develop also a small application (not which so huge…
Andre
2
votes
3 answers

How to deal with mysqldump and innodb_buffer_pool_size?

We have a database of about 100GB. However, most of this 100GB is "archived" data that we rarely access -- about 25GB is active data. We have innodb_buffer_pool_size set to 48G, which is typically plenty. However, everyday cPanel runs a backup that…
2
votes
0 answers

MySQL/InnoDB crash - "Log Sequence Number is in the future!"

So, after a database's files were copied over successfully, however an older version of InnoDB's logs were transferred, MySQL fails to start up in anything less than innodb_force_recovery=6. Due to this, we can't convert the databases into MyIsam…
TGWaffles
  • 121
  • 1
  • 3
2
votes
2 answers

MySQL limiting user disk space by tablespace

I am trying to figure out how to set a limit of disk space for users in MySQL. What I want is, for example, administrator assign 1G disk space for user A, if A used up the 1G disk space, MySQL would not allow A insert anything. I googled this…
Firechaser
  • 23
  • 3
2
votes
1 answer

MySQL innodb recovery from datafiles

Last night, my MySQL server crashed and now I have several databases, which data I'm unable to recover. According to errorlog, the coruptions in tablespaces happend quite a while ago (few months), but no one notticed that and yesterday, when MySQL…
dave
  • 315
  • 1
  • 4
  • 11
2
votes
4 answers

Altering a column length on a large Innodb table with minimal downtime

I need to change the the length of a column in a MySQL innodb table with 164M rows. Here's the script I want to run: ALTER TABLE SESSION_DECISION CHANGE COLUMN NAME NAME VARCHAR(255); When I tried running the alter query, the database churned for…
Will Glass
  • 927
  • 2
  • 12
  • 21
2
votes
2 answers

Will dropping AUTO_INCREMENT rebuild table in MySQL?

I've got table with following schema: CREATE TABLE `tblsomething` ( `something_id` int(11) NOT NULL AUTO_INCREMENT, … PRIMARY KEY (`something_id`) ) ENGINE=InnoDB AUTO_INCREMENT=144620955 I need to drop the auto increment. So I'm thinking to…
vartec
  • 6,217
  • 2
  • 33
  • 49
2
votes
2 answers

innodb storage options

I'm trying to figure out how to set up the storage for a site that currently requires only one server, but will certainly grow to demand more. I the database is largely innodb tables. I understand that clustering servers isn't an option because…
storm
  • 89
  • 2
  • 3
  • 12
2
votes
1 answer

changing mySQL (5.6) database from MyISAM to InnoDB

I have recently upgraded my CPanel server from mySQL 5.5 to mySQL 5.6 as it now supports full-text searches for InnoDB. Now, I'm not so great at mySQL so I was wondering is there anything special I need to keep in mind other than running ALTER TABLE…
user2643870
  • 283
  • 1
  • 3
  • 8
2
votes
1 answer

Over 100% of stage done during DROP COLUMN

I'm running a DROP COLUMN on the primary key column (I know, it's terrible but I had to do it). There's a progress indicator: Stage: 1 of 2 'copy to tmp table' 107% of stage done I haven't been modifying the data during the operation. Why would…
sep332
  • 155
  • 1
  • 5
2
votes
1 answer

innodb Table is full and autoexpand

Hi I use bacula and one of the tables is full: JobId 8946: Fatal error: sql_create.c:860 Fill File table Query failed: INSERT INTO File (FileIndex, JobId, PathId, FilenameId, LStat, MD5, DeltaSeq) SELECT batch.FileIndex, batch.JobId, Path.PathId,…
sebelk
  • 682
  • 4
  • 13
  • 32