I copia de seguridad de mi base de datos de producción con el siguiente comando:restauración MySQL a diferentes bases de datos
mysqldump -u root --opt --skip-extended-insert --databases my_production_db
El archivo de volcado resultante tiene las siguientes líneas en la parte superior:
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `my_production_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `my_production_db `;
Con el fin de restaurar la base de datos a un destino diferente, es decir. my_debvelopment_db
Debo abrir el archivo de volcado y editar los bits donde se nombra la base de datos.
Luego ejecutar:
mysql -u root -p <password> < mydumpfile
no he descubierto otra manera de hacerlo.
A medida que la base de datos crece, esto se vuelve poco práctico.
¿Echo de menos algo? ¿No puedo especificar de alguna manera dónde quiero restaurar la base de datos? ¿Necesitaría un comando de copia de seguridad diferente?
Incluso sin una opción '--databases', parece' mysqldump' aún puede generar referencia a un nombre de base de datos en el volcado. Al menos tengo problemas con algunos 'ALTER DATABASE \ 'dbname \' CHARACTER SET utf8 COLLATE utf8_bin' en un volcado de base de datos, sin usar la opción '--databases'. Y hubo dos de estos, el segundo anulando el primero. – Hibou57