10 maneras de hacer copia de tu mysql – método 4
Relay | marzo 19, 20094. Directamente con mysqldump a saco
En los anteriores métodos ya se ha usado mysqldump, una utilidad que viene con el mysql en cualquier sistema. Aparte de combinarlo, dicho mysqldump ofrece opciones variadas que, con varios ejemplos, repasaremos para ver como hacer los backups a tu manera.
De la manera más sencilla, el comando se ejecuta con el siguiente esquema:
mysqldump ---user [nombre de usuario] ---password=[contraseña] [base de datos a copiar] > [fichero de salida]
No creo que haya mucho que explicar al respecto.
Como opción extra, se puede usar el argumento -opt:
mysqldump --opt basededatos > sql.dump
Especificando el argumento --opt
, en teoría, estamos haciendo un volcado preparado para ser luego introducido en otro MySQL. Aunque suene raro, la explicación es sencilla: con dicho argumento, el mysqldump crea un volcado má´s sofisticado, incluyendo sentencias como «DROP TABLE IF EXISTS
» entre otras. Así, no habrá problema en recuperar una copia del día anterior si ha habido algún destrozo interno o alguna salvajada en el mismo servidor. Además, se meten sentencias de bloqueo, para evitar problemas de concurrencia a la hora de que los datos se vuelquen tanto fuera como dentro de otro MySQL.
Volcando de un servidor a otro ‘on-the-fly’:
mysqldump --host=host1 --opt basededatos | mysql --host=host2 --C nuevabase
Usando las tuberías en unix/linux (pipes), se puede hacer una pequeña virguería como la descrita. Podemos pasar el argumento host (que contendrá la IP o el nombre de la máquina) para, a la vez que volcamos con mysqldump, aceptarlo e integrarlo en otro servidor con el cliente de consola de mysql. Nótese el argumento –opt de la primera parte, y el –C de la segunda, donde se especifica que se compriman los datos que viajen.
El único inconveniente es que la nuevabase debe estar creada en el host2 antes de ejecutar el comando. Ambos servidores deben permitir conexiones desde fuera si se lanza este comando desde otra máquina remota que no sea ni el host1 ni el 2.
La típica:
mysqldump ---user admin --password=password basededatos | gzip > backup.gz
Esta es la típica opción que se usa en el 90% de los casos que conozco… un volcado, y comprimido usando gzip (se puede usar cualquier compresor de consola).
Como últimos argumentos a comentar, estan el –no-data y el –databases:
mysqldump --no-data --databases mydatabase1 mydatabase2 mydatabase3 > sql.dump
El primero simplemente especifica que no se vuelquen los datos, sino solo la estructura. El segundo, argumenta que le pasaremos varios nombres de diferentes bases de datos para volcar. No hay mucho más que os pueda servir.
Como restaurar lo que se ha volcado:
Esa era la pregunta que os deberíais estar haciendo, si es que no habeis restaurado un mysql nunca.
La solución pasa por invocar el cliente mysql a pelo pasándole como parámetros el nombre de la base de datos y el fichero sql que tengamos:
mysql mybasededatos < sql.dump
Via | SitePoint
[...] Anterior método - Siguiente método [...]
Para colores, 32 Bits » 10 maneras de hacer copia de tu mysql - método 3 | marzo 19, 2009[…] Anterior método – Siguiente método […]
[...] Anterior método - [...]
Para colores, 32 Bits » 10 maneras de hacer copia de tu mysql - método 5 | marzo 20, 2009[…] Anterior método – […]