Você está na página 1de 19

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA

CARRERA INGENIERÍA EN COMPUTACIÓN GRÁFICA

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

La recuperación en MySQL es sumamente importante en el manejo y administración de bases


de datos, MySQL al igual que la mayoría de gestores de bases de datos, permite actualizar,
seleccionar, borrar, ya sea tablas o ficheros, pero por diferentes motivos nuestra base de datos
se podría perder.
Aquí recuperaremos la base de datos, tablas o ficheros con la utilización de logs binarios los
cuales con su respectiva configuración se van a ir guardando lo que vamos haciendo en
nuestra base de datos y así al momento de querer recuperar por ejemplo algún fichero lo
recuperaremos dependiendo la hora y fecha que se realizó cambios en nuestra base de datos.
Ajustando adecuadamente las configuraciones se pueden obtener muchas mejoras en la
recuperación de la base, tablas o ficheros.
Cabe recalcar que la recuperación que realizaremos está hecha sobre el sistema operativo de
Windows.

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

Explicar el funcionamiento teórico, práctico de lo que es Recuperación en MySQL.

Objetivos Específicos

➢ Realizar la Recuperación de una base de datos en MySQL a través de backup.


➢ Realizar la Recuperación de tablas de una base de datos en MySQL a través de backup
o logs binarios.
➢ Realizar la Recuperación de ficheros de una base de datos en MySQL a través de logs
binarios

TEORÍA O MARCO TEÓRICO

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.

Las actividades de recuperación incluyen el hacer respaldos de la base de datos y almacenar


esos respaldos de manera que se minimice el riesgo de daño o pérdida de los mismos, tales
como hacer diversas copias en medios de almacenamiento removibles y almacenarlos fuera
del área en antelación a un desastre anticipado. La recuperación es una de las tareas más
importantes de la Administración de la base de datos.

La recuperabilidad, frecuentemente denominada “recuperación de desastres”, tiene dos


formas primarias. La primera son los respaldos y después las pruebas de recuperación.

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.

El registro binario de MySQL es importante para la restauración, porque son copias


incrementales de datos. Si se asegura de volcar los registros cuando hace su copia de
seguridad completa, entonces cualquier registro binario creado tras esa copia contiene todos
los cambios hechos desde entonces.

4
Comandos

Los comandos que se utilizarán en la recuperación son:

Mysql

Podemos iniciar mysql desde la línea de comandos, añadiendo un parámetro final y un


nombre de base de datos.

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)

Este archivo contiene funciones de arranque de MySQL además el 99% de las


configuraciones del servidor MySQL se realizan desde un único archivo, por no decir
directamente que todas las configuraciones se realizan desde un único archivo.

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.

Configuración del Archivo my.cnf (my.ini para Windows)

Al encontrar el archivo my.ini se ingresará lo siguiente:

 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

 expire_logs_days= es la cantidad de días para la eliminación automática del archivo


de registro binario. El valor predeterminado es 0, "sin eliminación automática". Las
posibles eliminaciones ocurren al inicio y cuando el registro binario se vacía.
expire_logs_days=10

 max_binlog_size = nos indica de que tamaño será el registro binario que se va a


realizar. El valor mínimo es 4096 bytes. El valor máximo y predeterminado es 1GB.
max_binlog_size=100M

 server_id= Es la identificación del servidor, utilizada en la replicación para dar a


cada maestro y esclavo una identidad única. Para cada servidor que participe en la
replicación, debe elegir un entero positivo en el rango de 1 a 232 - 1 para que actúe
como la identificación del servidor.
server_id=1

6
PRÁCTICA

1. En nuestro caso ya tenemos la base de datos creada se llama demo_dld.

2. Debemos editar el archivo my.ini ubicado en: C:\ProgramData\MySQL\MySQL


Server 5.7.
2.1. Hacemos un backup de my.ini copiando y ubicándolo en otra carpeta, por si
acaso haya errores en nuestra edición del my.ini.

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

4. Guardamos y reiniciamos el servicio de MySQL57, para reiniciar el servicio nos


ubicamos el Inicio y escribimos servicios, se nos despliega el panel de Servicios y
buscamos MySQL57 y hacemos clic en detener y luego en iniciar.

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

8. Después la eliminamos para simular un fallo en la base de datos.

9. Creamos la base eliminada y restauramos el backup que obtuvimos previamente sin


los registros que aumentamos después de obtenido el backup.

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

y lo pegamos en la ruta de C:\Users\Adaly\Desktop\recuperacionMySQL

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:

➢ Ronstrom, M., & Thalmann, L. (2004). MySQL cluster architecture overview.


MySQL Technical White Paper.
➢ MySQL, A. B. (2001). MySQL.
➢ DuBois, P., & Celador, J. L. G. (2009). La biblia de MySQL. Anaya Multimedia.
➢ ftp.tcrc.edu.tw/MySQL/doc/refman/5.0/es/mysql-config-wizard-editing.html
➢ https://forums.mysql.com/read.php?71,579378,579440
➢ https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html
➢ http://blog.elhacker.net/2013/01/log-binario-en-mysql.html

18

Você também pode gostar