MySQL and the ACID Model

ACID stands for Atomicity, Consistency, Isolation and Durability. It is a set of properties that guarantee that database transactions are processed reliably.

In MySQL, InnoDB storage engine supports ACID-compliant features.

Atomicity: The atomicity aspect of the ACID model mainly involves InnoDB transactions. MySQL features include:
Autocommit setting.
COMMIT statement.
ROLLBACK statement.
Operational data from the INFORMATION_SCHEMA tables.
Consistency: The consistency aspect of the ACID model mainly involves internal InnoDB processing to protect data from crashes. MySQL features include :
InnoDB doublewrite buffer.
InnoDB crash recovery.
Isolation: The isolation aspect of the ACID model mainly involves InnoDB transactions, in particular the isolation level that applies to each transaction.MySQL features include:
Autocommit setting.
SET ISOLATION LEVEL statement.
The low-level details of InnoDB locking. During performance tuning, you see these details through INFORMATION_SCHEMA tables.
Durability: The durability aspect of the ACID model involves MySQL software features interacting with your particular hardware configuration. Because of the many possibilities depending on the capabilities of your CPU, network, and storage devices, this aspect is the most complicated to provide concrete guidelines for. MySQL features include:

InnoDB doublewrite buffer, turned on and off by the innodb_doublewrite configuration option.
Configuration option innodb_flush_log_at_trx_commit.
Configuration option sync_binlog.
Configuration option innodb_file_per_table.
Write buffer in a storage device, such as a disk drive, SSD, or RAID array.
Battery-backed cache in a storage device.
The operating system used to run MySQL, in particular its support for the fsync() system call.
Uninterruptible power supply (UPS) protecting the electrical power to all computer servers and storage devices that run MySQL servers and store MySQL data.
Your backup strategy, such as frequency and types of backups, and backup retention periods.
For distributed or hosted data applications, the particular characteristics of the data centers where the hardware for the MySQL servers is located, and network connections between the data centers.