Tutorial XAMPP – Ripristinare i Database MySQL/MariaDB da Cartella Corrotta o Backup

Xampp

Ti è mai capitato che MySQL su XAMPP si arresti improvvisamente all’avvio segnalando errori nel log (es. MySQL shutdown unexpectedly) e impedendoti di accedere ai tuoi database locali?

Questo problema si verifica spesso a causa di un riavvio improvviso del computer, una caduta di tensione o la chiusura forzata di XAMPP mentre il database stava scrivendo su disco, lasciando la cartella mysql/data in uno stato corrotto.

Fortunatamente XAMPP include una cartella di emergenza chiamata backup. In questo tutorial vedremo la procedura passo-passo per recuperare tutti i tuoi database e ripristinare il corretto funzionamento di MySQL/MariaDB senza perdere dati.

1. Regola d’Oro: Fai Sempre una Copia di Sicurezza

Prima di qualsiasi operazione di ripristino, la regola fondamentale è non cancellare mai nulla. Lavoreremo creando una copia di backup dello stato attuale.

Passaggio 1: Arresta i Servizi

  1. Apri il XAMPP Control Panel.

  2. Assicurati che il modulo MySQL sia arrestato (stato Stop). Se Apache è attivo, puoi lasciarlo acceso o fermarlo temporaneamente.

2. Salvare la Cartella “data” Corrotta e Creare la Nuova Struttura

Tutti i database di XAMPP risiedono in C:\xampp\mysql\data\.

  1. Apri Esplora File e naviga nella directory:

    C:\xampp\mysql\

  2. Rinomina la cartella data in data_old (o data_corrotta).

  3. Crea una nuova cartella vuota all’interno di C:\xampp\mysql\ e chiamala data.

3. Inizializzare la Nuova Cartella con i File di Riserva (backup)

All’interno di C:\xampp\mysql\ troverai una cartella predefinita denominata backup, che contiene l’impronta pulita e funzionante dell’installazione di MariaDB/MySQL.

  1. Apri la cartella C:\xampp\mysql\backup\.

  2. Seleziona e copia tutti i file e le cartelle presenti al suo interno.

  3. Incolla il contenuto copiato all’interno della nuova cartella vuota:

    C:\xampp\mysql\data\.

4. Trasferire i Tuoi Database e il File ibdata1

Ora che abbiamo un ambiente MySQL pulito e funzionante, dobbiamo recuperare i tuoi dati reali dalla cartella data_old.

A. Copiare le cartelle dei database utente

  1. Apri la cartella C:\xampp\mysql\data_old\.

  2. Seleziona le cartelle corrispondenti ai tuoi database personali (es. wordpress, mio_progetto, db_gestionale).

  3. ATTENZIONE – COSA NON COPIARE: Non copiare le cartelle di sistema:

    • mysql

    • performance_schema

    • phpmyadmin

    • test

  4. Incolla le cartelle dei tuoi database all’interno della nuova directory C:\xampp\mysql\data\.

B. Copiare il file indice dei dati (ibdata1) — FASE CRITICA

La maggior parte delle tabelle in MySQL/MariaDB usa l’engine InnoDB. Le strutture e le chiavi dei dati InnoDB sono catalogate nel file di sistema ibdata1.

  1. Nella cartella C:\xampp\mysql\data_old\, individua il file ibdata1.

  2. Copialo e incollalo all’interno di C:\xampp\mysql\data\.

  3. Quando Windows ti chiede se vuoi sovrascrivere il file esistente, seleziona Sostituisci il file nella destinazione.

5. Verifica del Ripristino ed Esecuzione del Test

  1. Torna al XAMPP Control Panel.

  2. Clicca su Start in corrispondenza del modulo MySQL.

  3. Se l’indicatore diventa verde e mostra la porta (di norma 3306), l’avvio è andato a buon fine!

  4. Apri il browser e accedi a phpMyAdmin:

    http://localhost/phpmyadmin

  5. Verifica che nella colonna di sinistra compaiano tutti i tuoi database e che le tabelle al loro interno siano leggibili e integre.

Pulizia Finale

Una volta accertato che tutti i siti e le applicazioni funzionano correttamente e che nessun dato è andato perduto, puoi eventualmente eliminare o archiviare la cartella data_old.

Antonio Parisi

Antonio Parisi

Cloud Solution Architect



Torna in alto