- Check Disk Space: First, confirm that the disk is genuinely out of space. Use the command `df -h` to check the available disk space on your server.
- Identify Large Files or Directories: Use the command `du -sh /` to identify large files or directories. Drill down into directories with high usage using `du -sh /path/to/directory/`.
- Check MySQL Database Size: Log into MySQL and run the following query to identify large databases:
SELECT table_schema AS "Database",
ROUND(SUM(data
length + index
length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;
- Identify Large Tables: For databases identified as large, run the following query to find large tables within those databases:
SELECT table_name AS "Table",
ROUND(((data
length + index
length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table
schema = "your
database_name"
ORDER BY (data
length + index
length) DESC;
- Clean Up: Based on the information gathered, decide if you can delete any old data or archives from the disk or the MySQL database. For MySQL, use the `DELETE` command to remove unnecessary data from large tables, or `DROP TABLE` to remove entire tables if they are no longer needed.
- Archive Data: If data is important, consider archiving data to another storage location. You can use `mysqldump` to export data from specific tables or databases.
- Increase Disk Space: If cleanup is not sufficient or possible, consider increasing disk space. This might involve adding a new disk or resizing the existing disk, depending on your infrastructure setup.
- Monitor Disk Space Usage: After resolving the immediate issue, monitor disk space usage to prevent recurrence. You can use simple commands like `df -h` periodically, or set up monitoring tools if available.
Ensure any data manipulation or deletion is performed cautiously, ideally with backups in place to avoid accidental data loss.