Copia de seguridad y restauración de bases de datos MySQL para Windows
Entorno de confirmación de operaciones
- MySQL
-
- Edición comunitaria de MySQL 8.0
- Windows
-
- Windows 11
Entorno requerido
- MySQL
-
- MySQL 8.0
- Windows
-
- Windows 11
- Windows 10
- Servidor de Windows
-
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
precondición
- La base de datos MySQL debe estar instalada
- La base de datos de la que se va a realizar una copia de seguridad ya existe
- Configure las variables de entorno y le permita ejecutar MySQL desde el símbolo del sistema
Acerca de los tipos de copia de seguridad
No entraré en detalles aquí, pero MySQL tiene los siguientes tipos de copias de seguridad:
Comando de copia de seguridad | Comentarios | sobre el tipo de datos de copia de seguridad |
---|---|---|
mysqldump | Copia de seguridad lógica | Un antiguo método de copia de seguridad. La GUI también usa esto |
Bomba MySQL | Copia de seguridad lógica | Versión mejorada de mysqldump |
Utilidad de volcado de instancias de MySQL Shell y utilidad de carga de volcado | Copia de seguridad lógica | Como respaldo lógico, es el último en este momento |
Percona XtraBackup | Copia de seguridad física | Productos de terceros que permiten la copia de seguridad física |
COMPLEMENTO DE CLONACIÓN | Copia de seguridad física | Copia de seguridad física oficial de MySQL. Sin embargo, se requieren complementos adicionales |
Copia de seguridad de una base de datos con una GUI (MySQL Workbench)
Si desea operar de forma segura en la GUI sin usar comandos, puede realizar una copia de seguridad en MySQL Workbench. El tipo de copia de seguridad realizada en MySQL Workbench es "mysqldump".
Inicie MySQL Workbench.
Seleccione la conexión con la base de datos de la que desea realizar una copia de seguridad.
Con la base de datos de la que se va a realizar una copia de seguridad, seleccione la pestaña Administración en el Navegador de la izquierda y seleccione Exportación de datos.
Se abre la pantalla Exportación de datos. La pantalla es bastante grande, así que expanda la ventana hasta que vea el botón "Iniciar exportación" en la esquina inferior derecha.
Primero, seleccione la base de datos de la que desea hacer una copia de seguridad. También puede seleccionar más de uno.
En "Objetos para exportar", también puede elegir si desea realizar copias de seguridad de procedimientos, disparadores, etc. Este artículo es opcional.
En "Opciones de exportación", puede elegir entre las siguientes dos opciones:
Descripción de los tipos | |
---|---|
Exportar a la carpeta del proyecto de volcado | Salida como una tabla o un archivo de procedimiento por procedimiento en una carpeta determinada. |
Exportar a un archivo independiente | Incruste todo en un solo archivo y envíelo. |
No importa cuál emitas. Si elige arriba, es fácil porque puede eliminarlo fácilmente si desea restaurar solo una tabla específica. Las siguientes selecciones se generan en un solo archivo, lo que facilita el movimiento y la administración de archivos como una unidad de base de datos. Esta vez he seleccionado lo siguiente.
Una vez configurado, haga clic en el botón Iniciar exportación en la parte inferior derecha para comenzar a exportar.
La exportación comienza y se completa.
Si genera en un solo archivo, se verá así:
Si exporta a una carpeta, se verá así:
Restauración de una base de datos con una GUI (MySQL Workbench)
Abra MySQL Workbench, seleccione sus conexiones, seleccione la pestaña Administración en el Navegador a la izquierda y seleccione Importar/restaurar datos. Como dice "Importar/Restaurar", puede crear una nueva base de datos a partir del archivo exportado o sobrescribir la base de datos original.
Expanda la ventana hasta que vea el botón "Iniciar importación" en la esquina inferior derecha.
Seleccione "Opciones de importación" de acuerdo con el formato de archivo exportado. Dado que lo exporté como un solo archivo esta vez, seleccioné "Importar desde archivo autónomo" a continuación y especificé el archivo exportado.
Seleccione el esquema (base de datos) que se va a restaurar. Puede restaurar a una base de datos existente o puede restaurarla como una nueva base de datos desde el botón "nuevo" de la derecha.
Después de especificar, haga clic en el botón "Iniciar importación" en la esquina inferior derecha para iniciar la recuperación.
Asegúrese de que sus datos estén de vuelta cuando se complete la restauración.
Crear una cuenta para la copia de seguridad de la base de datos mediante un comando
No hay problema si desea ejecutar un comando para realizar una copia de seguridad una sola vez, pero, por ejemplo, si prepara un comando como un archivo con anticipación y lo ejecuta, debe escribir la contraseña en texto sin formato, por lo que es más seguro crear una cuenta separada para ejecutar la copia de seguridad.
Los permisos necesarios para la copia de seguridad son los siguientes, pero pueden aumentar o disminuir en función de la información necesaria.
- EVENTO
- TABLAS DE BLOQUEO
- ESCOGER
- MOSTRAR VISTA
Si lo creas con un comando, se verá así: Ejecútelo con la herramienta de línea de comandos MySQL.
create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;
ejemplo
create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;
Permisos de carpeta para el destino de la copia de seguridad
Los permisos de la carpeta donde se almacena el archivo de copia de seguridad deben establecerse en el mismo permiso que el permiso para ejecutar el comando. Si desea ejecutar comandos con el permiso Administradores, no es necesario establecer ningún permiso adicional para la carpeta.
Copia de seguridad de una base de datos con el comando (mysqldump)
Hay varias copias de seguridad de comandos, pero esta vez haré una copia de seguridad con el antiguo y estable "mysqldump".
Haga clic derecho en el menú Inicio e inicie Terminal (símbolo del sistema). Tenga en cuenta que no es un "Cliente de línea de comandos MySQL 8.0".
Puede hacer una copia de seguridad con el siguiente comando:
mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"
ejemplo
mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"
--default-character-set=utf8
será el mismo código de caracteres que cuando se realiza una copia de seguridad en la GUI. Esto también le permite importarlos a la GUI.- No coloque un espacio entre el campo
-p
de contraseña y la contraseña.- Si también desea generar información de espacio de tabla,
--no-tablespaces
desmarque . En ese caso, se requieren los permisos del usuario dePROCESS
ejecución.
Se creará un archivo de copia de seguridad en la ubicación especificada.
Restaurar una base de datos con el comando (mysqldump)
Los archivos respaldados con mysqldump están en un formato que se puede ejecutar en SQL, por lo que solo necesita ejecutar el SQL de destino. Creo que la restauración a menudo se realiza manualmente, por lo que está bien ejecutarla en la cuenta de root.
Si desea ejecutarlo desde un comando, ejecútelo en el símbolo del sistema en lugar de PowerShell. Esto se debe a <
que PowerShell no permite símbolos.
Ejecute el siguiente comando:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
ejemplo
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
Copia de seguridad automática de la base de datos
Para Windows, es común usar un programador de tareas. Comience creando un archivo por lotes. Cree un archivo bat, ingrese el contenido tal como se respaldó con comandos y guárdelo. Guarde los códigos de caracteres con Shift-JIS. La ubicación y el nombre del archivo por lotes pueden ser arbitrarios.
Regístrese en el programador de tareas. Haga clic derecho en el menú Inicio y seleccione "Administrar computadora".
En el menú de la izquierda, seleccione Administración de equipos > Herramientas del sistema > Programador de tareas > Biblioteca del programador de tareas. Seleccione Crear tarea en el menú de la derecha.
Establezca la pestaña General. El "nombre" se mostrará en la lista de tareas, así que ponga un nombre que sea fácil de entender. En las opciones de seguridad, marque "Ejecutar si el usuario ha iniciado sesión o no".
La pestaña Desencadenadores establece cuándo se debe realizar la copia de seguridad. Esta configuración debe establecerse de acuerdo con su operación.
En la pestaña Operaciones, establezca el archivo por lotes que acaba de crear para iniciarlo.
Una vez que haya configurado cada uno de ellos, confírmelos con el botón Aceptar.
Ingrese su contraseña para registrarse para ejecutar en la cuenta especificada.
Ahora verifique si la copia de seguridad se ejecutará a la hora especificada.