Database corrotto servizio mariadb errore 1067

di il
2 risposte

Database corrotto servizio mariadb errore 1067

Ciao a tutti, mi è già capitata due volte la stessa cosa e onestamente comincia a preoccuparmi.

Ho mariadb installato su alcuni pc, tutto gira in locale.
in pratica ad un certo punto mi trovo il database corrotto e il servizio di mariadb stoppato.

se provo a farlo ripartire non parte e mi da errore 1067, sapete cosa succede?

Ho dovuto disinstallare maria db e tutti i database, reinstallare mariadb e recuperare un backup (tra l altro l ultimo backup giornaliero era fallito, mi sono ritrovato il file vuoto, 0k di dimensione, ho docuto ripristinare quello del giorno precedente).

se riusciste a armi qualche dritta ve ne sarei grato.

2 Risposte

  • Re: Database corrotto servizio mariadb errore 1067

    Direi che per poter avere qualche chance di trovare la causa del problema dovresti, quantomento, dare queste informazioni:

    1 - Su che sistema operativo è installato?
    2 - Qual è il percorso completo dell'installazione di MariaDB?
    3 - Cosa riporta il log (vedi qui: https://mariadb.com/kb/en/error-log come configurare i log di MariaDB)?
  • Re: Database corrotto servizio mariadb errore 1067

    Ti ringrazio, provo a dare qualche info in piu.

    allora il sistema operativo è windows 10 LTSC
    mariadb è la versione 10.5.8

    il percorso di maria db è d:\mariadb ( messo in d perche sul disco c è abilitata la fuzionalità UWF che ripristina il disco c ad ogni avvio), cosi la cartella "data" di maria db è anchessa in d:\mariadb\data.

    Il log purtroppo non lo ho, nella fretta di dover ripristinare il funzionamento del database non l ho salvato, ho visto pero' sul link che mi hai girato che i log li scrive anche nell event viewer, sono andato a vedere e filtrare i log per errori di mariadb e di fatto il primo errore che vedo è:

    InnoDB: Space id and page no stored in the page, read in are [page id: space=210, page number=256], should be [page id: space=210, page number=262400]

    poi
    InnoDB: Space id and page no stored in the page, read in are [page id: space=210, page number=1], should be [page id: space=210, page number=262145]


    poi
    InnoDB: Set innodb_force_recovery=1 to ignore corruption.
    InnoDB: Not applying INSERT_HEAP_DYNAMIC due to corruption on [page id: space=210, page number=262208]
    InnoDB: Set innodb_force_recovery=1 to ignore corruption.
    InnoDB: Not applying INSERT_HEAP_DYNAMIC due to corruption on [page id: space=210, page number=262208]
    Plugin 'InnoDB' init function returned error.
    Aborting
    Unknown/unsupported storage engine: InnoDB
    InnoDB: Space id and page no stored in the page, read in are [page id: space=210, page number=1], should be [page id: space=210, page number=262145]
    InnoDB: Space id and page no stored in the page, read in are [page id: space=210, page number=1], should be [page id: space=210, page number=262145]
    InnoDB: Space id and page no stored in the page, read in are [page id: space=210, page number=1634], should be [page id: space=210, page number=263778]
    InnoDB: Space id and page no stored in the page, read in are [page id: space=210, page number=1319], should be [page id: space=210, page number=263463]
    InnoDB: Plugin initialization aborted with error Data structure corruption
    Plugin 'InnoDB' registration as a STORAGE ENGINE failed.






    di fatto una sfilza infinita di questi errori, che si ripetono.

    Cercando un po avevo trovato di provare ad aggiungere al file my.ini l opzione:
    [mysqld]
    innodb_force_recovery = 1

    per tentare di far avviare il servizio tentando il ripristino o ignorando i file corrotti ma da quello che vedo nei log lo ha fatto in automatico senza successo.

    per curiosità tra l altro ho provato a modificare a caso un file all interno della directory data di una tabella, ma il servizio mariadb parte, poi ovviamente se faccio operazioni su quella tabella mi da errori, ma almeno parte, quindi sembra che il file corrotto non era neppure uno di una tabella, ma qualcosa d altro.

    Ho provato poi a modificare anche il file ibdata1 , a questo punto il servizio non parte pero' mi da un altro tipo di errore quando cerco di avviare il servizio, e comunque se aggiungo nel file my.ini quelle istruzioni (innodb_force_recovery = 1) che sia1 che sia 2 che sia 6 il servizio non parte comuque.

    Ho provato poi a simulare una caduta di corrente mentre inserisco record in una tabella, ma non mi si è corrotto nulla (beh mi auguro che sia la condizione generale), pero' non ne arrivo a una... ne cosa sia successo, ne come sia successo, ne perchè sia successo, ne come evitare o correggere la cosa.
Devi accedere o registrarti per scrivere nel forum
2 risposte