Tabla de contenido
1. Copia de seguridad de MySQL
2. Métodos de copia de seguridad comunes
Herramientas especiales de copia de seguridad mysqldump o mysqlhotcopy
Habilite registros binarios para copias de seguridad incrementales
Copia de seguridad de herramientas de terceros
3. Copia de seguridad completa de MySQL
4. Clasificación de copia de seguridad completa de la base de datos
Copia de seguridad y recuperación física en frío
copia de seguridad y recuperación de mysqldump
5. Copia de seguridad y recuperación física en frío
Consulte la base de datos actual
Primero cierre el servicio de base de datos.
Instalación de herramientas de compresión relacionadas.
Descomprimir archivos de datos para realizar una copia de seguridad
A continuación descomprimiremos y restauraremos los datos.
Cambie al directorio para ver si los archivos se restauran
Inicie el servicio para ver si puede iniciarse normalmente.
Comprobar si los datos existen
6. copia de seguridad y recuperación de mysqldump (copia de seguridad en caliente)
Para realizar una copia de seguridad completa, especifique el repositorio completo
Haga una copia de seguridad completa de todas las bases de datos en el servidor MySQL
Copia de seguridad completa de algunas tablas en la biblioteca especificada
Realizar recuperación de datos
Usar fuente para restaurar la base de datos
Simulando una falla en la base de datos
Compruebe si los datos se recuperan
Utilice la declaración mysql para restaurar la base de datos
Realizar recuperación de base de datos
Inicie sesión en la base de datos para ver si está restaurada.
7. Copia de seguridad incremental
Primero habilite la función de registro binario
Reinicie el servicio MySQL de la base de datos.
Hacer una copia de seguridad de un archivo de registro binario
Ver el contenido del archivo de registro binario
Actualizar genera nuevos archivos de registro binarios
Ingrese a la base de datos para crear nuevos datos.
Cree nuevos datos para agregar contenido del archivo de registro binario
Ver nuevos archivos de registro binarios
1. Copia de seguridad de MySQL
El objetivo principal de la copia de seguridad es la recuperación ante desastres. La copia de seguridad también puede probar aplicaciones, revertir modificaciones de datos y consultar datos históricos. , auditoría, etc., y los registros juegan un papel muy importante en la restauración de copias de seguridad.
La ubicación de almacenamiento predeterminada de los registros de MySQL es el archivo de registro en el directorio /etc/local/mysql/data.
La copia de seguridad de datos se puede dividir en copia de seguridad física y copia de seguridad lógica. La copia de seguridad física es una copia de seguridad de los archivos físicos del sistema operativo de la base de datos (como archivos de datos y archivos de registro, etc.). Este tipo de copia de seguridad es adecuada para bases de datos grandes que necesitan para ser restaurado rápidamente cuando ocurren problemas base de datos importante
Copia de seguridad en frío (copia de seguridad sin conexión): se realiza cuando la base de datos está cerrada (tar)
Copia de seguridad en caliente (copia de seguridad en línea): la base de datos se está ejecutando y depende de los archivos de registro de la base de datos (MySQLbackup)
Copia de seguridad en caliente: realice la operación de copia de seguridad (MySQLdump) mientras la base de datos está bloqueada (no se puede escribir pero sí leer).
Método de copia de seguridad
Hay tres métodos de copia de seguridad, incluida la copia de seguridad completa, la copia de seguridad diferencial y la copia de seguridad incremental.
copia de seguridad completa
Cada vez que se realiza una copia de seguridad completa de los datos, es decir, una copia de seguridad de toda la base de datos, la estructura de la base de datos y la estructura de archivos, lo que se guarda es la base de datos en el momento en que se completa la copia de seguridad, es la base para la copia de seguridad diferencial y Copia de seguridad incremental. Las operaciones de copia de seguridad y recuperación de la copia de seguridad completa son muy simples y convenientes, pero hay mucha duplicación de datos y ocupa mucho espacio en el disco, y el tiempo de copia de seguridad también es muy largo.
Realizar una copia de seguridad completa cada vez hará que el archivo de copia de seguridad ocupe un espacio enorme y contenga una gran cantidad de datos duplicados. Al restaurar, simplemente use el archivo de copia de seguridad completo directamente.
respaldo diferencial
Haga una copia de seguridad de todos los archivos que se han modificado desde la última copia de seguridad completa. El momento de la copia de seguridad es desde la última copia de seguridad completa y la cantidad de datos de la copia de seguridad será cada vez mayor. Al restaurar datos, solo necesita restaurar la última copia de seguridad completa y la mejor copia de seguridad diferencial
Cada copia de seguridad diferencial realizará una copia de seguridad de los datos después de la última copia de seguridad completa y es posible que aparezcan datos duplicados. Al restaurar, primero restaure los datos de la copia de seguridad completa y luego restaure los datos de la copia de seguridad diferencial.
respaldo incremental
Sólo se realizarán copias de seguridad de aquellos archivos que hayan sido modificados desde la última copia de seguridad completa o incremental. La hora de la última copia de seguridad completa o de la última copia de seguridad incremental se utiliza como punto de tiempo. Sólo los datos cambian durante el período de copia de seguridad, por lo que el La cantidad de datos respaldados es pequeña, ocupa poco espacio y tiene una velocidad de respaldo rápida. Sin embargo, al restaurar, todos los incrementos entre la última copia de seguridad completa y la última copia de seguridad incremental deben restaurarse en secuencia. Si los datos de la copia de seguridad intermedia se dañan, los datos se perderán. Cada copia de seguridad incremental es una copia de seguridad. La última copia de seguridad completa se completó tiempo
Cada copia de seguridad incremental realiza una copia de seguridad de los datos después de la última copia de seguridad completa o incremental. No habrá duplicación de datos y no ocupará espacio adicional en el disco para restaurar los datos. Las copias de seguridad completas y las copias de seguridad incrementales deben restaurarse en orden.
2. Métodos de copia de seguridad comunes
Espera física en frío
La base de datos se cierra durante la copia de seguridad y el archivo de la base de datos (tar) se empaqueta directamente. La velocidad de la copia de seguridad es rápida y la recuperación también es la más sencilla.
Herramientas especiales de copia de seguridad mysqldump o mysqlhotcopy
Mysqldump, la herramienta de copia de seguridad lógica mysqlhotcopy comúnmente utilizada, solo tiene la capacidad de realizar copias de seguridad de tablas MyISAM y ARCHIVE.
Habilite registros binarios para copias de seguridad incrementales
Para realizar una copia de seguridad incremental, debe actualizar el registro binario
MySQL admite copias de seguridad incrementales y los registros binarios deben estar habilitados al realizar copias de seguridad incrementales. Los archivos de registro binarios brindan a los usuarios una copia de la información necesaria para recuperar los cambios en la base de datos realizados después de realizar el punto de respaldo. Si realiza una copia de seguridad incremental (que contiene modificaciones de datos que ocurrieron desde la última copia de seguridad completa o incremental), debe actualizar el registro binario.
Copia de seguridad de herramientas de terceros
Software gratuito de copia de seguridad en caliente de MySQL Percona XtraBackup mysqlbackup
3. Copia de seguridad completa de MySQL
-
Es una copia de seguridad de toda la base de datos, la estructura de la base de datos y la estructura de archivos.
-
Lo que se guarda es la base de datos en el momento en que se completa la copia de seguridad.
-
Es la base del respaldo diferencial y del respaldo incremental.
-
Pros y contras de la copia de seguridad completa de MySQL
1. Ventajas: las operaciones de copia de seguridad y recuperación son simples y convenientes
2. Desventajas: hay mucha duplicación de datos, lo que ocupa mucho espacio de copia de seguridad y lleva mucho tiempo realizar copias de seguridad y restaurar.
4. Clasificación de copia de seguridad completa de la base de datos
Copia de seguridad y recuperación física en frío
Cierre la base de datos MySQL y use el comando tar para empaquetar directamente la carpeta de la base de datos y reemplazar directamente el directorio MySQL existente.
copia de seguridad y recuperación de mysqldump
La herramienta de copia de seguridad que viene con MySQL puede realizar copias de seguridad de MySQL fácilmente. Puede exportar las bibliotecas y tablas especificadas como scripts SQL. Utilice el comando mysq| para importar los datos respaldados.
5. Copia de seguridad y recuperación física en frío
Consulte la base de datos actual
Comando: mostrar bases de datos;
mostrar mesas;
Primero cierre el servicio de base de datos.
Realizar copia de seguridad en frío nuevamente
Instrucción: systemctl detener firewalld
Instalación de herramientas de compresión relacionadas.
Comando: yum -y instalar xz
Descomprimir archivos de datos para realizar una copia de seguridad
Ejemplo: tar Jcvf /opt/mysql_all_$(date +%F).tar.xz /usr/local/mysql/data
Eliminar datos a otro archivo
Instrucción: mv /usr/local/mysql/data /opt
A continuación descomprimiremos y restauraremos los datos.
Instrucción: mkdir /usr/local/mysql/data
tar Jxvf /opt/mysql_all_2023-07-18.tar.xz -C /usr/local/mysql/data
Cambie al directorio para ver si los archivos se restauran
Instrucción: cd /usr/local/mysql/data
Inicie el servicio para ver si puede iniciarse normalmente.
Comando: systemctl inicia mysqld.service
Comprobar si los datos existen
Comando: mostrar bases de datos;
mostrar tablas;
6. copia de seguridad y recuperación de mysqldump (copia de seguridad en caliente)
Para realizar una copia de seguridad completa, especifique el repositorio completo
Comando: mysqldump -u root -p [contraseña] --databases [nombre de la biblioteca] > [nombre del archivo de ruta de respaldo].sql
Haga una copia de seguridad completa de todas las bases de datos en el servidor MySQL
Comando: mysqldump -u root -p[contraseña] --all-databases > [nombre del archivo de ruta de respaldo].sql
Copia de seguridad completa de algunas tablas en la biblioteca especificada
Comando: mysqldump -u root -p [contraseña] nombre de la biblioteca [nombre de la tabla 1] [nombre de la tabla 2] ... > [nombre del archivo de ruta de respaldo].sql
Cómo ver archivos de respaldo
Comando: grep -v "^--" /opt/[nombre de archivo].sql | grep -v "^/" | grep -v "^$"
Realizar recuperación de datos
Para archivos exportados usando mysqldump, puede usar el método de importación
① comando fuente
② comando mysql
Usar fuente para restaurar la base de datos
Inicie sesión en la base de datos primero
Comando: mysql -u [nombre de usuario] -p [contraseña]
Simulando una falla en la base de datos
Comando: soltar la base de datos [nombre de la base de datos];
Restaurar base de datos
Comando: fuente [ruta completa del archivo de copia de seguridad].sql;
Compruebe si los datos se recuperan
Comando: mostrar bases de datos;
mostrar mesas;
Utilice la declaración mysql para restaurar la base de datos
Simule nuevamente el error de la base de datos para perder datos
Comando: soltar la base de datos [nombre de la base de datos];
Realizar recuperación de base de datos
Salga de la base de datos y restaure desde la línea de comando
Comando: mysql -u[nombre de usuario] -p[contraseña] <[ruta completa al archivo de copia de seguridad].sql
Inicie sesión en la base de datos para ver si está restaurada.
Comando: mysql -u[nombre de usuario] -p[contraseña]
mostrar bases de datos;
mostrar mesas;
7. Copia de seguridad incremental
Primero habilite la función de registro binario
La copia de seguridad incremental debe basarse en una copia de seguridad completa, por lo tanto, antes de realizar una copia de seguridad incremental, haga una copia de seguridad completa de los datos actuales en la base de datos para garantizar la integridad de los datos al comienzo de la copia de seguridad.
Comando: vim /etc/my.cnf
Reinicie el servicio MySQL de la base de datos.
Comando: systemctl reiniciar mysqld
Hacer una copia de seguridad de un archivo de registro binario
Comando: cp /usr/local/mysql/data/mysql-bin.000001 /opt
Ver el contenido del archivo de registro binario
Ejemplo: mysqlbinlog --no-defaults --base64-output=decode-rows -v /opt/mysql-bin.000001
Partes del registro binario que necesitan atención
1. en: punto de posición inicial
2. end_log_pos: posición final
3. Marca de tiempo: 210712 11:50:30
4. Declaración SQL
Actualizar genera nuevos archivos de registro binarios
Instrucción: mysqladmin -uroot -p flush-logs
Ingrese a la base de datos para crear nuevos datos.
Comando: mysql -u[nombre de usuario] -p[contraseña]
Cree nuevos datos para agregar contenido del archivo de registro binario
Instrucción: crear base de datos lll;
Ver nuevos archivos de registro binarios
Ejemplo: mysqlbinlog --no-defaults --base64-output=decode-rows -v /usr/local/mysql/data/mysql-bin.000002