Red de conocimiento informático - Material del sitio web - Cómo utilizar el comando mysqldump para realizar una copia de seguridad o exportar la base de datos

Cómo utilizar el comando mysqldump para realizar una copia de seguridad o exportar la base de datos

La regla general es que solo usar --all-databases (-A) dará como resultado el ERROR 1356, así que veamos de qué respalda. Entonces llamé a mis colegas para que miraran menos juntos y miré de arriba a abajo. De repente descubrí: 1. BORRAR mysql.proc en el archivo SQL de respaldo; 2. Luego CREAR un nuevo mysql.proc 3. ¿No hay datos de CREATE ROUTINE respaldados entre LOCK TABLES y UNLOCK TABLES? ¿No es esto equivalente a darme una nueva tabla mysql.proc sin rutinas de esquema del sistema cada vez que la importo? ¿No es esto extremadamente vergonzoso?

---- Estructura de tabla para la tabla `proc`--

---- Vaciado de datos para la tabla `proc`-

La verdad se revela en el oficial El documento oficial sys-schema-usage nos dice claramente que no se realizará una copia de seguridad de la biblioteca del sistema. Pero cuando se usa mysqldump y se ejecuta --all-databases, mysql.proc se borrará y sys no se podrá usar normalmente; ¡esto es un ERROR y solo existe en MySQL 5.7.x!

1. mysql_upgrade instala o actualiza el esquema del sistema

Esta solución es adecuada para usar cuando la biblioteca del sistema se ha dañado debido a la importación de mysqldump.

Nota: mientras mysql_upgrade repara la biblioteca del sistema, también repara la biblioteca mysql y las tablas de la biblioteca del usuario (bloqueadas durante el período y la velocidad es promedio. Existe una posibilidad muy pequeña de daño accidental durante el uso). mysql_upgrade, agregue --upgrade-system-tables; de lo contrario, se escanearán las tablas de la biblioteca del usuario.

2. Realice una copia de seguridad de la biblioteca del sistema al mismo tiempo durante la copia de seguridad completa.

Esta solución es adecuada para bases de datos que necesitan restaurarse y la biblioteca del sistema no realiza una copia de seguridad adicional normal; después de una copia de seguridad completa, se utiliza una copia de la biblioteca del sistema para la reparación.

Nota: No es apto para uso como maestro y esclavo.

3. Utilice bases de datos para realizar copias de seguridad completas

Esta solución es adecuada para los requisitos de copias de seguridad completas en todos los escenarios y es 100 % segura.

4. Utilice el código fuente abierto mysql-sys

Si todos los sistemas de su base de datos están infectados, volverá a ser una base de datos de producción. Entonces solo puedes usar este método:

mysql-sys:/mysql/mysql-sys

La declaración de creación de la biblioteca sys se registra en el archivo para descargar el archivo al local y luego, según la versión de la base de datos, ejecute el siguiente comando.