Recuperación de una BBDD Mysql
A veces nos puede ocurrir que por corrupción de algún inodo del HDD o bien por un apagado abrupto de la máquina, el servidor de mysql no quiere iniciar. En el log de sucesos podemos ver errores con tablespace, etc.
Vamos a recuperar la BBDD de la siguiente manera.
1.- Paramos todos los procesos de mysql
$> /etc/init.d/mysql stop
$> ps -ef|grep mysql
$> kill -9 NumProcess
2.- Creamos copias de los siguientes ficheros:
$> mkdir -p /tmp/mysql/backup
$> cp -rp /var/lib/mysql/ib* /tmp/mysql/backup/
3.- Añadimos en la sección "[mysqld]" al archivo "/etc/mysql/my.cnf" lo siguiente:
innodb_force_recovery=4
4.- Iniciamos la BBDD:
$> /etc/init.d/mysql start
Ahora se habrá iniciado la BBDD en modo recovery, no podremos grabar datos en ella.
5.- Realizamos un checkeo
$> mysqlcheck -p --all-databases
Comprobamos que todo sale OK
6.- Realizamos copia de seguridad de la BBDD
$> mysqldump --single-transaction -p nombre_bd > respaldo.sql
7.- Borramos las bbdd en mysql
$> mysql -p
mysql > drop database Nombre_BBDD;
8.- Borramos archivos
$> /etc/init.d/mysql stop
$> rm -rf /var/lib/mysql/ib*
9.- Quitamos las opciones puestas en el paso 3 e iniciamos mysql:
$> /etc/init.d/mysql start
Mirar el log de errores de Mysql, no deberían aparecer problemas y deberá estar arrancado correctamente Mysql.
10.- Importar las BBDD
Primero creamos de nuevo la BBDD en Mysql:
$> mysql -p
mysql > create database Nombre_BBDD;
mysql > exit
$> mysql -u USUARIO -p BaseDeDatos < /Ruta/Del/Archivo/archivo.sql
Con esto ya tenemos recuperada la BBDD corectamente.
0 Comments:
Publicar un comentario
<< Home