Copia de seguridad y restauración de bases de datos MySQL (versión de Windows)
Entorno operativo
- MySQL
-
- MySQL 8.0 Edición de la comunidad
- Windows
-
- Windows 11
Prerrequisitos
- 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
- Se instala una base de datos para MySQL.
- La base de datos de la que se va a realizar una copia de seguridad ya existe.
- Ha establecido variables de entorno para que pueda ejecutar mysql desde el símbolo del sistema.
¿Cuáles son los tipos de copias de seguridad?
Aunque no se discute en detalle aquí, MySQL tiene los siguientes tipos de copias de seguridad:
Comandos de copiade seguridadTipos de datos de copia de seguridadComentarios | ||
---|---|---|
mysqldump | Copias de seguridad lógicas | Un método de copia de seguridad antiguo. La interfaz gráfica de usuario también utiliza esto |
mysqlpump | Copias de seguridad lógicas | Versión mejorada de mysqldump |
Utilidad de volcado de instancias de MySQL Shell y utilidad de carga de volcado | Copias de seguridad lógicas | La copia de seguridad lógica más reciente en este momento |
Percona XtraBackup | Copias de seguridad físicas | Soporte de terceros para copias de seguridad físicas |
COMPLEMENTO DE CLONACIÓN | Copias de seguridad físicas | Copias de seguridad físicas oficiales de MySQL. Sin embargo, debe agregar un complemento. |
Copia de seguridad de bases de datos con la interfaz gráfica de usuario (MySQL Workbench)
Si desea operar de forma segura en la interfaz gráfica de usuario sin usar comandos, puede realizar una copia de seguridad con MySQL Workbench. El tipo de copia de seguridad realizada por MySQL Workbench será "mysqldump".
Inicie MySQL Workbench.
Seleccione la conexión que contiene 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, a continuación, seleccione Exportación de datos.
Se abre la pantalla Exportación de datos. La pantalla es razonablemente ancha, así que expanda la ventana hasta que pueda ver el botón "Iniciar exportación" en la parte inferior derecha.
En primer lugar, seleccione las bases de datos de las que desea realizar una copia de seguridad. También puede seleccionar más de uno.
En "Objetos a exportar", también puede optar por hacer una copia de seguridad de los procedimientos y disparadores. Este campo es opcional.
En "Opciones de exportación", puede seleccionar las siguientes dos opciones.
Tipo | Descripción |
---|---|
Exportar a la carpeta del proyecto de volcado | Salida a una carpeta especificada como un archivo de tabla o procedimiento. |
Exportar a un archivo autónomo | Incruste todo en un solo archivo y salida. |
No importa en qué dirección salgas. La selección anterior es fácil de eliminar si desea restaurar solo una tabla específica. La siguiente selección genera un solo archivo, lo que facilita el movimiento y la administración de archivos como una unidad de base de datos. En este caso, he seleccionado lo siguiente.
Después de configurar la configuración, haga clic en el botón "Iniciar exportación" en la esquina inferior derecha para iniciar la exportación.
La exportación se inicia y se completa.
Si lo genera como un solo archivo, se verá así:
Si exporta a una carpeta, se verá así:
Restauración de una base de datos con la interfaz gráfica de usuario (MySQL Workbench)
Abra MySQL Workbench, seleccione una conexión, seleccione la pestaña Administración en el Navegador de la izquierda y seleccione Importación/Restauración de 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. Como esta vez exporté como un solo archivo, seleccioné "Importar desde archivo autónomo" a continuación y especifiqué el archivo exportado.
Seleccione el esquema (base de datos) en el que desea restaurar. Puede restaurar a una base de datos existente o restaurarla como una nueva base de datos desde el botón "Nuevo" a la derecha.
Después de especificar las especificaciones, haga clic en el botón "Iniciar importación" en la parte inferior derecha para iniciar la restauración.
Una vez completada la restauración, asegúrese de que sus datos estén de vuelta.
Crear una cuenta para la copia de seguridad de la base de datos mediante un comando
No hay ningún problema si ejecuta un solo comando y realiza una copia de seguridad, pero, por ejemplo, si prepara el comando como un archivo de antemano y lo ejecuta, debe escribir la contraseña en texto sin formato, por lo que es más seguro crear una cuenta separada para la ejecución de la copia de seguridad.
Algunos de los permisos necesarios para la copia de seguridad 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í. Utilice la herramienta de línea de comandos de 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 guarda el archivo de copia de seguridad deben establecerse de la misma manera que los permisos para ejecutar el comando. Si ejecuta el comando con privilegios de administrador, no es necesario establecer ningún permiso adicional en la carpeta.
Copia de seguridad de una base de datos con el comando (mysqldump)
Hay varias copias de seguridad por comando, pero esta vez haremos una copia de seguridad con "mysqldump", que se ha utilizado durante mucho tiempo y es estable.
Haga clic con el botón derecho en el menú Inicio para iniciar Terminal (símbolo del sistema). Tenga en cuenta que no es "MySQL 8.0 Command Line Client".
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
Si especifica el mismo código de caracteres que cuando realiza la copia de seguridad en la GUI, será el mismo que cuando realiza la copia de seguridad en la GUI. De esta manera, también puede importarlo en la GUI.- No incluya un espacio entre el campo de contraseña y
-p
la contraseña.- Si también desea generar información de espacio de tablas,
--no-tablespaces
elimine . En ese caso, los permisos del usuario en ejecución deben ser .PROCESS
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 por mysqldump están en un formato que se puede ejecutar en SQL, por lo que todo lo que tiene que hacer es ejecutar el SQL de destino. Creo que la mayoría de las restauraciones se realizan manualmente, por lo que no hay problema si lo ejecuta como cuenta raíz.
Si desea ejecutarlo desde un comando, ejecútelo en el símbolo del sistema en lugar de en PowerShell. Esto se debe a que el símbolo no se puede usar en <
PowerShell.
Ejecute el siguiente comando:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
ejemplo
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
Copias de seguridad automatizadas de bases de datos
Para Windows, es común usar el Programador de tareas. En primer lugar, cree un archivo por lotes. Cree un archivo bat, introduzca el contenido tal y como se ha realizado una copia de seguridad con el comando y guárdelo. La codificación de caracteres se guarda con Shift-JIS. La ubicación y el nombre del archivo por lotes son arbitrarios.
Regístrese en el Programador de tareas. Haga clic con el botón derecho en el menú Inicio y seleccione Administración de equipos.
En el menú de la izquierda, seleccione Administración de equipos > Herramientas del sistema > Programador de tareas > Biblioteca del programador de tareas. Selecciona "Crear tarea..." en el menú de la derecha.
Configure la pestaña General. "Nombre" aparecerá en la lista de tareas, así que ingrese un nombre que sea fácil de entender. En las opciones de seguridad, marque "Ejecutar independientemente de si el usuario ha iniciado sesión o no".
En la pestaña "Activador", puede establecer cuándo realizar la copia de seguridad. Establezca esta configuración de acuerdo con su operación.
En la pestaña "Operación", configúrelo para iniciar el archivo por lotes que acaba de crear.
Después de configurar cada uno, confirme con el botón Aceptar.
Ingrese su contraseña para registrarse y ejecutar con la cuenta especificada.
Después de eso, verifique si la copia de seguridad se ejecutará en el momento especificado.