restaurar - ¿Limitar el número de registros de mysqldump?
restaurar base de datos mariadb (4)
A mysqldump se le puede asignar una consulta SQL para que la ejecute, desde la cual tomará los datos para el volcado. Luego puede usar la cláusula "límite X" en su consulta para restringir el número de filas.
Estoy tratando de cargar una pequeña muestra de registros de una gran base de datos en una base de datos de prueba.
¿Cómo le dices a mysqldump que solo te dé n registros de 8 millones?
Gracias
Como dice skaffman, usa la opción --where :
mysqldump --opt --where="1 limit 1000000" database
Por supuesto, eso te daría el primer millón de filas de cada mesa.
Como el pedido predeterminado es ASC, que rara vez es lo que quiere en esta situación, debe tener un diseño de base de datos adecuado para que el DESC funcione de la caja. Si todas sus tablas tienen UNA columna de clave principal con el mismo nombre (natural o sustituto), puede volcar fácilmente los n últimos registros usando:
mysqldump --opt --where="1 ORDER BY id DESC limit 1000000" --all-databases > dump.sql
Esta es una razón perfecta de por qué siempre debe nombrar el ID de su PK y evitar las PK compuestas, incluso en tablas de asociación (en su lugar, utilice claves sustitutas).
Si desea obtener n
registros de una tabla específica, puede hacer algo como esto:
mysqldump --opt --where="1 limit 1000000" database table > dump.sql
Esto arrojará las primeras 1000000
filas de la tabla denominada table
al archivo dump.sql
.