Superamento dello spazio di archiviazione di un database MySQL o MariaDB

Con le nostre attuali tariffe hai a disposizione 2 GB di spazio di archiviazione per ogni database MySQL o MariaDB. Se questo limite viene superato, l'accesso in scrittura al database viene bloccato fino a quando lo spazio in eccesso non viene di nuovo liberato.

Di seguito ti spieghiamo come liberare e quindi ottimizzare lo spazio nel tuo database ed evitare che venga bloccato l'accesso.

Puoi visualizzare lo spazio di archiviazione utilizzato per un database nel tuo account IONOS o su phpMyAdmin. Tuttavia, se usi tabelle innodb con phpMyAdmin, lo spazio di archiviazione indicato è errato. Per questo ti consigliamo di verificare lo spazio di archiviazione sul tuo account IONOS seguendo questo percorso: Hosting > Seleziona contratto hosting > Database > Modifica

Può capitare che lo spazio di archiviazione massimo venga superato perché modifichi frequentemente le tabelle. Con la modifica delle tabelle, infatti, lo spazio occupato aumenta sempre di più, nonostante in realtà il volume dei dati salvati rimanga pressoché invariato. Lo spazio di archiviazione del database può essere riorganizzato e ottimizzato in qualsiasi momento.

Nota bene:
  • Non è possibile superare le dimensioni massime del database, pari a 2 GB.
  • Se hai già superato le dimensioni massime del database e l'accesso è stato bloccato, è possibile liberare lo spazio di archiviazione solo contattando l'Assistenza Clienti IONOS. Fanno eccezione solo le tabelle innodb alle quali può essere applicato un comando Alter Table.

Liberare lo spazio di archiviazione

Per ottimizzare un database direttamente sul tuo account IONOS, procedi come segue:

  • Se non lo hai già fatto, effettua il login al tuo account IONOS.
  • Clicca sul riquadro Hosting e seleziona il contratto hosting desiderato.
  • Vai sul riquadro Database e clicca su Modifica. Si aprirà una pagina con una panoramica di tutti i database che hai creato.
  • Sulla riga del database desiderato, clicca sul link Apri nella colonna PHPMYADMIN.
    Il programma di amministrazione phpMyAdmin si aprirà in una nuova finestra.
  • Sulla nuova pagina, clicca nel menù a sinistra sul nome del database. Potrai così visualizzare tutte le tabelle del database.
  • Clicca sul tab SQL nella barra di menù in alto.
  • Inserisci il seguente comando nella finestra SQL: SELECT concat('ALTER TABLE `', table_schema, '`.`', table_name, '` FORCE;')
    FROM information_schema.tables
    WHERE data_free / (data_length + index_length + data_free) > 0.6
    ORDER BY data_free DESC;
    Vengono generati comandi SQL che permettono di liberare lo spazio di archiviazione. Esegui i comandi Optimize nella finestra SQL. Nell'esempio seguente, dbname rappresenta il nome del tuo database. +---------------------------------------------------------------------+
    | concat('ALTER TABLE `', table_schema, '`.`', table_name, '` FORCE;')|
    +---------------------------------------------------------------------+
    | ALTER TABLE `dbname`.`attemptoptions` FORCE;                        |
    | ALTER TABLE `dbname`.`attemptsimple_login_log` FORCE;               |
    | ALTER TABLE `dbname`.`attemptposts`FORCE;                           |
    | ALTER TABLE `dbname`.`attemptpostmeta` FORCE;                       |
    +---------------------------------------------------------------------+
    4 rows in set (0.01 sec)
    A meno che il database non sia bloccato, è possibile eseguire questi comandi SQL indipendentemente dallo spazio di archiviazione effettivamente utilizzato.
Nota bene:

Lo spazio di archiviazione liberato non è immediatamente disponibile nel database. Di solito, è possibile utilizzare nuovamente il database il giorno successivo.

Eseguire l'ottimizzazione automaticamente

Puoi eseguire l'ottimizzazione del tuo database in maniera automatica e ad intervalli regolari di tempo con un cronjob. Per ulteriori informazioni sui cronjob, consulta il nostro Centro Assistenza.