dilluns, 3 d’agost de 2015

Recuperar les dades amb els arxius d'una base de dades mysql

Una cosa que pareix que li passe a més gent és que ubuntu (al meu cas LliureX) done un error de dependències al servidor mysql y impedisca la seua instal·lació (o en el meu cas actualització, esborrant la versió vella però impedint instal·lar la nova).
Per sort vaig fer una còpia de les carpetes per si de cas, però la més important és:
/var/lib/mysql
Un dels passos per pode instal·lar es esborrar eixa carpeta i intentar desinstalar, cosa que vaig fer, i a la de 1000 intents ho vaig aconseguir. Es donava el cas que el backup que havia fet (la política de backups és una altra discusió) no era correcte i només contenia estructura. Per tant, ja em veia perdent un dia o dos picant les dades (ja duia un dia perdut intentant reinstal·lanr el servidor). Bo, com ho he pogut recuperar? Doncs fàcil, quan saps com ;).
 Les bases de dades, en mysql, són carpetes amb arxius, cada carpeta té el nom de la base de dades.  Haurem de parar el servidor mysql per fer estes operacions (sudo service mysql stop) :
El primer pas és copiar eixa carpeta a /var/lib/mysql. Si intentem entrar des de mysql, ara només podrem veure el nom de la base de dades. Per què? Per què si ho fem, ho haurem fet amb "sudo cp", i això copia com a root.
El següent pas, serà canviar els permisos de la carpeta i el seu contingut a l'usuari i grup mysql (chmod/chgrp -R mysql ...). Si ho intentem ara, veurem les taules però no el contingut.
Per tant faltarà una cosa, i és actualitzar els índex, estos estan a l'arxiu ibdata1, que haurem de copiar de l'arrel del nostre backup, i canviar els permisos a mysql/mysql, ja que si no ho fem, el servidor no tindrà permisos per a llegir eixe arxiu i per tant, no arrancarà.
Una vegada fet açò, podrem arrancar el servidor i veurem la nostra base de dades amb estructura i dades recuperada.

Cap comentari:

Publica un comentari a l'entrada