Common SQL Errors

MySQL Error 35 EE_DISK_FULL_WITH_RETRY_MSG: Disk Full During Write - How to Fix and Prevent

Galaxy Team
August 5, 2025

MySQL cannot write data because the disk or partition holding the data directory is full; the server pauses writes and retries until space is freed.

Sign up for the latest in common SQL errors from the Galaxy Team!
Welcome to the Galaxy, Guardian!
You'll be receiving a confirmation email

Follow us on twitter :)
Oops! Something went wrong while submitting the form.

What is MySQL error 35 EE_DISK_FULL_WITH_RETRY_MSG?

MySQL Error 35 EE_DISK_FULL_WITH_RETRY_MSG appears when the database server runs out of disk space while writing. Free up disk space, move the data directory, or expand the file system to resolve the error. Clearing binary logs is the fastest fix for most production servers.

Error Highlights

Typical Error Message

Disk is full writing '%s' (OS errno %d - %s). Waiting for someone to free space... Retry in %d secs. Message reprinted in %d secs. EE_DISK_FULL_WITH_RETRY_MSG was added in 8.0.13.

Error Type

Storage Error

Language

MySQL

Symbol

EE_DISK_FULL_WITH_RETRY_MSG

Error Code

35

SQL State

Explanation

Table of Contents

What is MySQL error 35 EE_DISK_FULL_WITH_RETRY_MSG?

MySQL raises EE_DISK_FULL_WITH_RETRY_MSG when it cannot complete a write operation because the underlying disk or partition is full. The error message includes the file path, operating system error number, and a countdown before the server retries the write.

The error was introduced in MySQL 8.0.13 as a global error to alert administrators that the server will pause writes and periodically reattempt them.

While reads continue, any transaction requiring disk space blocks, impacting application availability.

Resolving the issue quickly is critical because long-running locks can cascade, timeout, or lead to application-level data loss.

What Causes This Error?

Insufficient free space on the data or tmp directory prevents InnoDB from flushing pages, writing redo logs, or creating temporary tables.

Large transactions, runaway binary logs, oversized temp tables, or audit logs commonly trigger the condition.

Misconfigured partitioning can concentrate data growth on a small volume even when other disks have capacity. Similarly, leaving binary or relay logs unpurged consumes space until the partition is full.

How to Fix MySQL Error 35 EE_DISK_FULL_WITH_RETRY_MSG

Immediately free space by removing or archiving log files, dropping unnecessary temp files, or moving the MySQL data directory to a larger partition.

After space is available, unblocked transactions resume automatically.

In the long term, configure automatic log purging (PURGE BINARY LOGS, expire_logs_days), monitor disk usage, and separate data, log, and temp directories across dedicated volumes to prevent recurrence.

Common Scenarios and Solutions

Binary logs grew unchecked on a replication master: use PURGE BINARY LOGS TO 'mysql-bin.012345'; to remove old logs once replicas have applied them.

Large SELECT ...

INTO OUTFILE filled /var/lib/mysql: move outfile_dir to a separate mount or write to a network share.

ALTER TABLE created a full copy of a multi-GB table: enable ALGORITHM=INPLACE or use pt-online-schema-change to avoid a full table copy.

Best Practices to Avoid This Error

Enable automatic log rotation, set innodb_monitor_enable="all" with monitoring to receive early disk alerts, and allocate at least 20 percent free space on data and temp partitions.

On Galaxy, set up custom alerts that watch disk metrics and binary log size; the collaborative SQL history helps identify exploding queries before they exhaust storage.

Related Errors and Solutions

ER_DISK_FULL alerts on immediate disk full without retry logic.

ER_TEMP_FILE_WRITE_FAILURE indicates a write failure in the tmp directory. Both resolve through the same free-space or directory-move techniques.

.

Common Causes

Unpurged Binary Logs

Binary or relay logs remain on disk because automatic purging is disabled or replicas lag behind, eventually filling the partition.

Large Temporary Tables

Complex queries create on-disk temp tables in the tmpdir; if tmpdir shares the data volume, both compete for space until full.

Bulk Inserts or ALTER TABLE Copies

Huge INSERT or table rebuild operations double storage use temporarily, exhausting capacity on small volumes.

OS-Level Log Accumulation

System logs, core dumps, or other application files consume the same partition MySQL uses, reducing available space unexpectedly.

.

Related Errors

FAQs

How long will MySQL keep retrying after EE_DISK_FULL_WITH_RETRY_MSG?

The server retries indefinitely at the interval shown in the message until space is available or the server stops.

Can I continue reading data during this error?

Yes, SELECT operations that require no new temporary files still run, but writes block until space frees up.

Is restarting MySQL necessary after freeing space?

No. Once enough space is available, blocked transactions resume automatically without a restart.

How does Galaxy help avoid disk full errors?

Galaxy surfaces disk metrics in context and lets teams track query growth, enabling proactive cleanup of space-heavy artifacts.

Start Querying with the Modern SQL Editor Today!
Welcome to the Galaxy, Guardian!
You'll be receiving a confirmation email

Follow us on twitter :)
Oops! Something went wrong while submitting the form.

Check out some other errors

Trusted by top engineers on high-velocity teams
Aryeo Logo
Assort Health
Curri
Rubie Logo
Bauhealth Logo
Truvideo Logo