Reputation: 1996
I am making regular backups of my MySQL
database with mysqldump. This gives me a .sql file with CREATE TABLE
and INSERT
statements, allowing me to restore my database on demand. However, I have yet to find a good way to extract specific data from this backup, e.g. extract all rows from a certain table matching certain conditions.
Thus, my current approach is to restore the entire file into a new temporary database, extract the data I actually want with a new mysqldump
call, delete the temporary database and then import the extracted lines into my real database.
Is this really the best way to do this? Is there some sort of script that can directly parse the .sql file and extract the relevant lines? I don't think there is an easy solution with grep
and friends unfortunately, as mysqldump generates INSERT
statements that insert many values per line.
Upvotes: 2
Views: 1406
Reputation: 1996
The solution to this just ended up being to import the whole file, extract the data I needed and drop the database again.
Upvotes: 1