tl;dr: Seems the quickest way of doing this was to fire up a VM, install
mysql-client and browse that way.
I have backups of things. This is important, because as the old adage goes: running without backups is data loss waiting to happen. I’m not sure if that’s the adage, but it’s something resembling what I say to people. I’m a real hit at parties.
I wanted to check the backups of the database powering this blog, as there was a post that could swear I remembered referring to (iterating over files in bash) but couldn’t find. I had a gzipped dump of the MySQL database, and wanted to check that.
zgrep bash mysql.sql.gz | less was my first thought, but that gave me a huge amount of irrelevant stuff.
A few iterations later and I was at
zgrep bash mysql.sql.gz | grep -i iterate | grep -i files | grep -v comments and none the wiser. I had hoped there was some tool to perform arbitrary queries on dump files, rather than going through a proper database server, but that’s basically sqlite and to my limited searches, didn’t seem to exist for MySQL.
What I ended up doing was firing up a VM, installing
mysql-client and dumping the dump into that server via
zcat mysql.sql.gz | mysql -u 'root' -p database
And then querying the database:
select post_title, post_date from wp_posts where post_title like '%bash%' followed by
select post_content from wp_posts where post_title like '%terate%';
And the post is back!