¿Puedo restaurar una sola tabla desde un archivo mysqldump completo de mysql?
Tengo una copia de seguridad mysqldump de mi base de datos mysql que consta de todas nuestras tablas y tiene aproximadamente 440 megas. Quiero restaurar el contenido de solo una de las tablas de mysqldump. es posible? En teoría, podría simplemente recortar la sección que reconstruye la tabla que quiero, pero ni siquiera sé cómo editar de manera efectiva un documento de texto de ese tamaño.
Puede intentar utilizar sed para extraer solo la tabla que desee.
Digamos que el nombre de su tabla es mytable
y el archivo mysql.dump
es el archivo que contiene su enorme volcado:
$ sed -n -e '/CREATE TABLE.*`mytable`/,/Table structure for table/p' mysql.dump > mytable.dump
Esto copiará en el archivo mytable.dump
lo que se encuentra entre CREATE TABLE mytable
y el siguiente CREATE TABLE
correspondiente a la siguiente tabla.
Luego puede ajustar el archivo mytable.dump
que contiene la estructura de la tabla mytable
y los datos (una lista de INSERT
).
Utilicé una versión modificada del comando sed de uloBasEI. Incluye el comando DROP anterior y lee hasta que mysql termina de descargar datos en su tabla (UNLOCK). Me funcionó (re)importar wp_users a varios sitios de Wordpress.
sed -n -e '/DROP TABLE.*`mytable`/,/UNLOCK TABLES/p' mydump.sql > tabledump.sql