El otro día estaba probando una función en mi caja de desarrollo cuando me di cuenta de que mis datos locales estaban verdaderamente desactualizados, y si iba a llegar a algún lado con mis pruebas, necesitaba algunos datos recientes de producción. El problema es que nuestra base de datos MySQL principal es enorme, y restaurar una base de datos MySQL de 10 GB lleva horas inclusive en la caja más rápida.
Claro, puede señalar y reírse de por qué no estamos usando una base de datos mejor, como tal vez PostgreSQL, pero dado que nuestros sitios están basados en WordPress, estamos atrapados con MySQL y tenemos que aprovecharlo al máximo.
Por suerte, recordé que existen argumentos en la línea de comandos y miré para ver si había una forma de exportar solo una tabla usando mysqldump, y efectivamente, la había. La sintaxis es la próxima:
mysqldump [OPTIONS] database [tables]
De todos modos, ese ejemplo apesta, por lo tanto aquí hay uno mejor: si desea hacer una copia de seguridad solo de la tabla wp_users de su base de datos de WordPress llamada wordpressdb, haría algo más cercano a esto, que lo exportaría todo a un archivo llamado users.bak.
mysqldump -uUser -pPassword -hHostname wordpressdb wp_users > users.bak
De todos modos, querrá reemplazar Usuario, Contraseña y Nombre de host con los valores de su wp-config.
Si desea exportar varias tablas, a modo de ejemplo, si se da cuenta de que probablemente necesite wp_usermeta si va a exportar wp_users, simplemente agregaría eso al comando:
mysqldump -uUser -pPassword -hHostname wordpressdb wp_users wp_usermeta > users.bak
Para importar esa copia de seguridad más adelante, transfiérala a donde quiera usarla y ejecute algo como esto:
mysql -uUser -pPassword -hHostname databasename < users.bak
Y esa es la historia de cómo se exportó una tabla y mi base de datos local ahora está actualizada.