View my profile on LinkedIn

Il db Mysql del blog si è corrotto (e ho dimenticato la password di root)

Dopo un crash dovuto alla morte del gruppo di continuità rimasto a secco di corrente, la tabella del database di wordpress che ospita le statistiche si e’ corrotta…

Nulla di grave, la tabella appartiene al plugin wp-slimstat, ed è esterna alla struttura delle tabelle di WordPress, quindi il blog non ne ha minimamente risentito, e io stesso mi sono accorto del problema quando sono andato a consultare le statistiche ho ricevuto indietro un errore alla riga del programma php che scorre i record.

Il massimo danno configurabile era la perdita dello storico delle statistiche, questo solo se la tabella in causa non era recuperabile, zapparla via non era un problema visto che il programma l’avrebbe ricreata automagicamente vuota.

in effetti il danno non era grosso, solo che non mi ricordavo la password di root di Mysql :-P

La procedura di recovery della password è stata facile, ovvio prima un grasso backup della macchina virtuale:

Entro come root nel serverino e fermo mysql:

/etc/init.d/mysql stop

Una volta fermato MySql lo riavvio in modo “safe”:

mysqld_safe –skip-grant-tables &

apro una shell di MySql

mysql -h localhost

e sono dentro come root, per modificare la password:

use mysql;
UPDATE user SET password=password(”Mia_Nuova_Password”) WHERE user=”root”;

Adesso posso riavviare mysql

/etc/init.d/mysql restart

per riparare la tabella invece, faccio lo shutdown di MySql:

mysqladmin -u root -p shutdown

mi sposto dove wordpress tiene i file del database

cd /var/lib/mysql/wordpress

e faccio un check

myisamchk *.MYI

ecco la tabella “marcia”

Checking MyISAM file: wp_slim_stats.MYI
Data records: 1683273 Deleted blocks: 0
myisamchk: warning: Table is marked as crashed
myisamchk: warning: 1 client is using or hasn’t closed the table properly
- check file-size
myisamchk: error: Size of datafile is: 163352212 Should be: 163352256
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
myisamchk: error: Found key at page 17273856 that points to record outside datafile
- check record links
myisamchk: error: Record-count is not ok; is 1683272 Should be: 1683273
myisamchk: warning: Found 1683272 parts Should be: 1683273 parts
MyISAM-table ‘wp_slim_stats.MYI’ is corrupted
Fix it using switch “-r” or “-o”

Quindi provo a ripararla:

myisamchk -r -q wp_slim_stats
- check record delete-chain
- recovering (with sort) MyISAM-table ‘wp_slim_stats’
Data records: 1683273
- Fixing index 1
Data records: 1683272

finito, alla fine dei salmi c’era un unico record rimasto “nel limbo”.

Riavvio mysql e mi ritrovo di nuovo le mie 1.6 milioni di righe di statistiche mancanti ovviamente delle visite avvenute dal crash (8,45 circa) all’ora della riparazione.

:-)

per la cronaca SlimStat, ottimo prodotto, lo trovate QUI

3 Comments

  1. shark says:

    Consiglio di ricordarti una sola password, quella di una partizione cifrata, e dentro tutte le varie password..a me ora sta funzionando alla grande :-)

  2. diggita.it says:

    Il db Mysql del blog si è corrotto (e ho dimenticato la password di root)…

    Dopo un crash dovuto alla morte del gruppo di continuità rimasto a secco di corrente, la tabella del database di wordpress che ospita le statistiche si e’ corrotta…

    Nulla di grave, la tabella appartiene al plugin wp-slimstat, ed è esterna alla s…

Leave a Reply

hitstatus