Los datos de la base de datos se eliminaron accidentalmente y no hubo copia de seguridad. ¿Cómo recuperarse?
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.