Colección de citas famosas - Frases motivadoras - Los datos de la base de datos se eliminaron accidentalmente y no hubo copia de seguridad. ¿Cómo recuperarse?

Los datos de la base de datos se eliminaron accidentalmente y no hubo copia de seguridad. ¿Cómo recuperarse?

Active la función de registro bin de mysql:

Mysql también admite copias de seguridad incrementales, pero la función de registro bin de mysql debe estar activada.

Modificamos el archivo de configuración mysql. Linux es /etc/my.cnf y Windows es el directorio de instalación de mysql/my.ini.

Agregamos una línea de código de registro en [mysqld], como se muestra a continuación.

[mysqld]

log-bin=mysql-bin

Copia el código

Reinicia mysql después de agregarlo.

Un cliente eliminó accidentalmente el contenido de la base de datos al actualizar los datos, porque la base de datos es maestro-esclavo, pero no hay copia de seguridad (¡la copia de seguridad es muy importante! Afortunadamente, el bin-log está activado, y luego se registra todo el registro

Después de eso, también hice una prueba simple para restaurar los datos, de la siguiente manera:

1. >Crear tabla ` Lynn `.` sn _ test `( ` nombre ` VARCHAR(10) conjunto de caracteres utf8 COLLATE utf8_bin NOT NULL, ` edad ` INT(3)NOT NULL)ENGINE = MYISAM

2 Insertar varios datos

Insertar ' lynn`.`sn_test` (`nombre`, `edad `) valor (' lynn1 ', ' 1 '); "Lynn" ."sn_test"("nombre","edad") valor("lynn2","2");

Insertar en "Lynn"."sn_test"("nombre", "edad ") valor ("lynn3", "3");

Insertar en "Lynn"."sn_test" ("nombre", "edad") valor ("lynn4", "4");

3. Ver los datos y eliminarlos

mysql gtselect * de sn_test

- -

| Nombre|Edad|

- -

lynn1 |

| lynn2 |

| | lynn4 | 4 |

- -

Hay 4 filas en la colección (0,00 segundos)

mysql gt eliminado de sn_test;

La consulta es normal, 4 filas están afectadas (0.00 segundos)

mysql gtselect* de sn_test

Conjunto vacío (0.00 segundos)

4 .mysqlbinlog restaura datos.

mysqlbinlog MySQL-bin.000006 gt; 1.sql

Ver los datos insertados en 1.txt y restaurar los datos antes de eliminarlos. >

mysqlbinlog MySQL-bin .000006-start-position = 2471-stop-position = 2876 | MySQL-uroot-p 123

Inicie sesión nuevamente, verifique los datos, OK, la recuperación ha sido exitoso.

Para las operaciones de bases de datos, debemos prestar atención a las siguientes cuestiones:

1. Realizar copias de seguridad en todo momento (copia de seguridad completa, copia de seguridad incremental) y restaurar los datos lo antes posible. algo sale mal;

2. Antes de operar la base de datos, descargue la base de datos o la tabla a operar;

3. Incluso si no realiza los dos pasos anteriores, aún puede recuperar datos a través de registros.