Programador PHP freelance

Copía de seguridad de solo algunas tablas de una base de datos MySQL

Existen varias herramientas cliente para conectarse a una base de datos MySQL, entre ellas PHPMyAdmin. Es una de mis preferidas aunque reconozco que para acceso rápido y sobretodo para lanzar queries me quedo con el cliente en consola de MySQL.

El tema es que cuando bajas a consola y te acostumbras luego no puedes soltarlo y entre otras cosas te encuentras con que tienes herramientas tan potentes como mysqldump que te permite realizar copias de seguridad de una base de datos con un control bastante elevado.

Yo principalmente lo utilizo para automatizar el proceso de backup y en algunas ocasiones para devolver la aplicación a un estado conocido.
Pongamos por caso que necesito hacer unas pruebas sobre una aplicación en fase de test. Se trata, por ejemplo, de operar sobre un expediente que se guarda en varias tablas y a partir del cual debo de generar una factura que a su vez se guarda en varias tablas más. Una vez se ha generado la factura a partir del expediente no puede volverse a generar con lo cual me obliga a introducir otro expediente cada vez que quiero realizar la prueba. En este punto tenemos tres soluciones:
1.- Creamos un expediente manualmente. (Que pérdida de tiempo)
2.- Creamos un script SQL que cree un nuevo expediente. (Mejor pero seguimos inviertiendo bastante tiempo creando los INSERTS)
3.- Hacemos un backup con mysqldump -u user -p –opt database t1 t2 t3 > database.sql donde t1 t2 t3 son las tablas que queremos copiar de forma que ahorramos tiempo en el caso de bases de datos pesadas. Cada vez que necesitemos volver al estado anterior solo hayque recuperar esa copia con mysql -u user -p database < database.sql