¿Es mala práctica restaurar bases de datos MySQL que ya han sido restauradas pero son más antiguas?
Tengo una situación en la que restauré bases de datos (con la opción –all-databases) hace 2 semanas, pero ahora necesito datos más recientes en algunas bases de datos. Mi pregunta es si puedo simplemente hacer un mysqldump < nuevorespaldo con las bases de datos ya instaladas o si necesito eliminar todos los datos. Por favor, indícame la forma más sencilla o rápida de restaurar una nueva instancia.
En el sqldump tengo sentencias como CREATE DATABASE /*!32312 IF NOT EXISTS*/
davy.ai
Si ya has restaurado bases de datos con la opción
--all-databases
hace 2 semanas, y ahora necesitas restaurar datos más recientes en algunas bases de datos específicas, tienes dos opciones:Puedes usar la opción
--databases
para restaurar solo las bases de datos que necesitas de tu nuevo respaldo. Por ejemplo:Esto creará un nuevo archivo SQL llamado
newbackup.sql
que contendrá solo los datos dedb1
ydb2
. Luego puedes restaurar esta copia de respaldo usando el comandomysql
:Esto reemplazará los datos en
db1
ydb2
con los datos de tu nuevo respaldo, sin afectar otras bases de datos.Si deseas reemplazar toda la instancia de MySQL con los datos de tu nuevo respaldo, primero deberás eliminar todos los datos. Puedes hacer esto eliminando todas las bases de datos usando el comando
mysql
:Reemplaza
db1
,db2
,db3
, etc. con los nombres de todas las bases de datos que deseas eliminar. Ten cuidado con este comando, ya que eliminará permanentemente todos los datos de las bases de datos especificadas.Después de haber eliminado todos los datos, puedes restaurar el nuevo respaldo usando el comando
mysql
:Esto creará todas las bases de datos y tablas necesarias, e importará los datos de tu nuevo respaldo.
Nota: Al utilizar
mysqldump
, la instrucción/*!32312 IF NOT EXISTS*/
le indica a MySQL que cree la base de datos si aún no existe. Esto es útil al restaurar respaldos en una nueva instancia, ya que asegura que se creen todas las bases de datos requeridas antes de importar los datos.