MySQL – Is It ACID Compliant?

acidMySQLpostgresql

Is Mysql not an ACID compliant according to Postgresql? In some blogs I see Mysql is not ACID compliant. How true is that?

Let't not consider the replication here, lets consider a standalone and how efficient is Mysql ACID?

In my understanding for Mysql-ACID.

A – Atomicity (Set of transactions should all be committed if one
fails it has to rollback. Yes means all are committed , no means even
one failed it has to Rollback).

I.E. Features that supports in Mysql are.

  • start Transaction; ….. commit ;
  • auto_commit=1;

C – Consistency.

( PK,FK,UK,NOT-NULL). It adheres to Relations and constraints for
Databases. Instance a parent key can be deleted only when its child
key is removed.

I – Isolation. Isolation between users and their state of commit.

Read Repeatable Read Uncommitted Read Committed Serialized

D – Durability. At the event of DB crash innodb recovers the DB by
applying committed transaction from iblog file and discards
not-committed transaction.

Click here for the source of this question. – Is it because the blog is created @2001?

UPDATE Jun-30-2017: As per "Evan Carroll" response and I have personally tested the blog experiment on 5.7.18-enterprise. The results obtained from the experiment seems to be Mysql is Not an ACID Compliant.

Best Answer

No

I don't think permitting Phantom Writes in Repeatable Read satisfies any ACID compliance.

See this blog entry for more information.