Cause

The /data/mysql mount might become full due to a range of issues, such as not having enough inodes, available storage space, and bad queries that generate temporary tables.

Solution

There is an immediate step that you might take to bring MySQL back on track (or prevent it from getting stuck): free up some space by flushing big tables.

But a long-term solution would be allocating more space and following Database best practices, including enabling the Order/Invoice/Shipment archive functionality.

Following are details on both quick and long-term solutions.

Check and free up inodes

Ensure that there are enough available inodes. To do this, run the following command:

df -i

The output would look similar to the following:

Filesystem Inodes   Used   Free Use% Mounted on
/dev/nvme2n1 655360    1695  653665    1% /data/mysql

Check that Use % is <70%. Inodes are correlated with files. If you remove files from the partition, you will free inodes.

Check and free up storage space

Check available storage space. For this, execute:

df -k

The output would be similar to following:

Size Used Avail Use% Mounted on·
       50G 49G 95M 100% /data/mysql

If the Use % is >70%, you need to take action to free/add some space.

Check for large ibtmp1 files

Check for large ibtmp1 file on /data/mysql of each node: this file is the tablespace for temporary tables. If there are bad queries that generate temp tables, they are contained in the ibtmp1 file. This file is only removed when the database is restarted. If it is taking up all available space, the database must be restarted. If there are bad queries, it will be recreated again.

Flush large tables

WARNING
We strongly recommend creating a database backup before performing any manipulations and avoiding them during high site load periods. See Dump your database in our developer documentation.

Check if there are large tables and consider if any of them can be flushed. Do this on the primary (source) node.

For example, tables with reports can usually be flushed. For details on how to find large tables, see the Find Large MySQL tables article.

If there are no huge report tables, consider flushing _index tables, just to return the Adobe Commerce application back on track. index_price tables would be the best candidates. For example, catalog_category_product_index_storeX tables, where X can have values from “1” to the maximum store count. Please mind that you would need to reindex to restore data in these tables, and in the case of big catalogs, this reindex might take a lot of time.

Once you flush them, wait for wsrep sync completion. You can now create backups and take more significant steps to add more space, like allocating/buying more space and enabling Order/Invoice/Shipment archive functionality.

Check binary logging settings

Check your MySQL server binary logging settings: log_bin and log_bin_index. If the settings are enabled, the log files might become huge. Create a support ticket requesting to purge large binary log files. Also, request to check that binary logging is being configured correctly so that logs are purged periodically and don’t take too much space.

If you don’t have access to MySQL server settings, request support to check it.

Allocate/buy more space

Allocate more disk space for MySQL if you have some unused. See the Check disk space limit article to learn how to check if you have free disk space.

  • For the Starter plan, all environments, and Pro plan Integration environments, you can allocate the disk space if you have some unused. For details, see the Allocate more space for MySQL.
  • For Pro plan Staging and Production environments, contact support to allocate more disk space if you have some unused.

If you have reached your space limit and still experience low space issues, consider buying more disk space, contact your Adobe Account Team for details.

Best practices for modifying database tables in the Commerce Implementation Playbook

Previous pageMySQL server has gone away​ error on Adobe Commerce on cloud
Next pageDatabase storage troubleshooter on Adobe Commerce

Commerce


Put the Customer at the Center and Build Relationships That Last a Lifetime

Online | Strategy Keynote | General Audience

First impressions last a lifetime. Great first impressions feel personal, connected, and relevant right from the start. From the first...

Wed, Mar 19, 2:30 PM PDT (9:30 PM UTC)

Register

How AI Is Transforming the Commerce Landscape

Online | Session | General Audience

Delve into how AI is revolutionizing the commerce landscape by optimizing operations, enhancing customer experiences, and improving...

Tue, Mar 18, 3:30 PM PDT (10:30 PM UTC)

Register

Connect with Experience League at Summit!

Get front-row access to top sessions, hands-on activities, and networking—wherever you are!

Learn more