Escolar Documentos
Profissional Documentos
Cultura Documentos
RECUPERACIÓN EN MySQL
Base de Datos 2
INTEGRANTES:
EDWIN CHALACAN
FREDY ROMAN
ALEX GOMEZ
QUITO – ECUADOR
2018
Tabla de contenido
RESUMEN ............................................................................................................................................ 2
INTRODUCCIÓN ................................................................................................................................... 2
OBJETIVOS ........................................................................................................................................... 3
Objetivo General ............................................................................................................................. 3
Objetivos Específicos ....................................................................................................................... 3
TEORÍA O MARCO TEÓRICO ................................................................................................................ 3
Recuperación en MySQL ................................................................................................................. 3
Logs Binarios.................................................................................................................................... 4
Comandos........................................................................................................................................ 5
Mysql ............................................................................................................................................... 5
Mysqladmin ..................................................................................................................................... 5
Mysqldump ..................................................................................................................................... 5
Archivo my.cnf (my.ini para Windows) ........................................................................................... 6
Configuración del Archivo my.cnf (my.ini para Windows) .............................................................. 6
PRÁCTICA............................................................................................................................................. 7
CONCLUSIONES: ................................................................................................................................ 17
RECOMENDACIONES: ........................................................................................................................ 17
REFERENCIAS: .................................................................................................................................... 17
1
RESUMEN
INTRODUCCIÓN
Algunas situaciones de emergencia necesitan ciertas dosis de ingenio. Como por ejemplo
recuperar una o varias bases de datos en MySQL a partir de los ficheros binarios porque no
tenemos copia de ellos. La mala práctica, la falla de la base, por corriente eléctrica o por
algún motivo nuestra base, tablas o registros podrían perderse, pero si se conoce acerca de
los LOGS BINARIOS se puede recuperar desde el punto que nosotros queramos.
En este informe presentaremos paso a paso como recuperar ya se la base completa, tablas, o
ficheros que no se hayan guardado después de nuestro último backup. Trabajaremos
utilizando la consola CMD de Windows y la consola de MySQL y así trabajar directamente
con los ficheros binarios para poder consultarlos y realizar la exportación de las Bases de
Datos o tablas que nos interesen.
MySQL es la herramienta de línea más potente e importante. Casi todas las tareas
administrativas o de usuario se pueden realizar aquí de alguna u otra manera.
2
OBJETIVOS
Objetivo General
Objetivos Específicos
Recuperación en MySQL
La recuperabilidad significa que, si se da algún error en los datos, o por algún motivo se
pierde ya se nuestra base de datos, tablas de la base de datos o ficheros de la base de datos se
puede traer de vuelta la base de datos al tiempo y estado en que se encontraba en estado
consistente antes de que el daño se causara.
3
La recuperación de las bases de datos consiste en información y estampas de tiempo junto
con bitácoras los cuales se cambian de manera tal que sean consistentes en un momento y
fecha en particular.
Existen varias maneras de respaldar base de datos MySQL, pero en este informe hablaremos
de logs binarios.
Logs Binarios
El binlog sirve principalmente para la replicación, pero también sirve para guardar un registro
de las consultas que afectan a los datos del BD, ya que todas las consultas select (lectura)
no se guardan en el log binario.
Activando el log binario se puede reconstruir los datos de la base de datos en un 99% desde
el último backup. Es por lo tanto fundamental para mantener sana la integridad de la base de
datos.
Se puede hacer un recovery a un determinado punto, ya que si se tiene el punto inicial y todas
las modificaciones con la fecha se puede recuperar hasta el día que se requiera.
El propósito principal del registro binario es el de actualizar la base de datos durante una
operación de recuperación tan completamente como sea posible, porque el registro binario
contiene todas las actualizaciones hechas tras la copia de seguridad.
Ejecutar el servidor con el registro binario activado hace que el rendimiento baje un 1%. Aun
así, los beneficios del registro binario para las operaciones de restauración y el hecho de
permitirnos poder establecer replicación generalmente son superiores a este decremento de
rendimiento.
4
Comandos
Mysql
Mysqladmin
Mysqldump
Es una herramienta extremadamente útil que le permite volcar toda una base de datos o parte
de la misma a un archivo único a modo de conjunto de comandos SQL que se pueden volver
a leer con MySQL.
5
Archivo my.cnf (my.ini para Windows)
Se debe tener en cuenta que, desde este archivo, no solo tienes la posibilidad de optimizar el
rendimiento del servidor MySQL, este también tiene la hora y la fecha de las tablas, ficheros
que se van creando, y este archivo nos ayudará a poder recuperar los ficheros que
necesitemos.
log-bin= nos permite asignar un nombre a nuestro archivo bin que tiene la extensión
.000001, en este caso nuestro archivo se llamará binario.00000x
log-bin = binario
6
PRÁCTICA
7
8
2.2. Para poder visualizar el archivo, configuramos las opciones de carpeta y
seleccionamos la opción de mostrar carpetas y archivos ocultos.
2.3. Para poder guardar los cambios, se da permisos respectivos al archivo my.ini.
Clic derecho/Propiedades/Seguridad/usuarios/editar
3. Dentro del archivo my.ini debajo de: server section y debajo de [mysqls] escribimos:
log-bin=binario
expire_logs_days=10
max_binlog_size=100M
server_id=1
9
5. Obtenemos el backup de la base de datos que deseamos recuperar hasta cierto
instante. Para eso abrimos un CMD y nos dirigimos a la dirección:
C:\Archivos de programa\MySQL\MySQL Server 8.0\bin
10
Ejecutamos el comando:
mysqldump -h 127.0.0.1 -u root -p NombreBaseDatos>Ruta\NombreDelBackup.sql
Al momento de dar Enter nos pedirá al password, aquí pondremos el password de MySQL
Al ingresar a nuestra carpeta se ubicación de nuestro backup, nos daremos cuenta que ya se
creó:
6. Revisamos que estén activados los registros binarios, para eso ingresamos al
terminal de MySQL y nos dirigimos a la base de datos que utilizaremos con los
comandos:
show databases;
use nombreBase;
show binary logs;
11
Al momento de abrir nuestra consola de MySQL nos pedirá contraseña, la ponemos y después
ponemos los comandos antes mencionados:
Verificamos el último registro binario que es el que está guardando los sucesos que ocurren.
12
7. Ingresamos varios registros en la base de datos
13
10. Restauramos el backup con el comando:
source Nombredelaruta\nombredelbackup.sql
COMPROBAMOS:
14
11. Copiamos el archivo binario que se encuentra en:
C:\ProgramData\MySQL\MySQL 8.0\Data\Nombredelbinario.00000x
15
12. Para ver los eventos antes del fallo que ocurrió en la base de datos, pasaremos el
archivo binario al formato txt con el comando:
mysqlbinlog nombredelaruta\nombredelbinario.00000x > nombredelaruta\nombretxt.txt
13. Revisamos el archivo. txt e identificamos un numero antes del fallo en la base de
datos.
16
14. Con el número de suceso, abrimos un cmd y nos ubicamos en la carpeta bin de
mysql y ejecutamos el comando:
mysqlbinlog nombredelaruta\nombredelbinario.00000x --stop-position = numerosuceso |
mysql -u root -p
COMPROBAMOS:
17
CONCLUSIONES:
- La recuperación en MySQL nos permite obtener los datos que han sido perdidos por
algún motivo ya sea la mala manipulación, falta de corriente eléctrica, etc.
- Podemos configurar nuestro archivo my.ini en el cual irá el nombre de nuestro
archivo binario log, cuanto pesará nuestro archivo, y cuánto tiempo durará en
memoria.
- Se puede llevar un registro de logs binarios dependiendo el tiempo que se ponga para
que se guarden los backup en los logs binarios.
RECOMENDACIONES:
- El uso de los logs binarios es totalmente recomendable para darse cuenta de que
ficheros se puede recuperar, para eso se debe tener en cuenta la fecha y hora en que
se ha realizado cambios en nuestra base de datos.
- Cada que realicemos algún cambio importante en nuestro archivo my.ini o por
consola lo modifiquemos, es recomendable reiniciar el servicio de MySQL para que
se apliquen los cambios, caso contrario pensaríamos que estamos haciendo las cosas
mal, y perderíamos tiempo.
- Es recomendable tener en cuenta que para la recuperación de ficheros en MySQL no
hay una sola manera, hay varias, pero cada una depende de un procedimiento que hay
que tenerlo en cuenta para la recuperación casi al 99% de exactitud
REFERENCIAS:
18