Back in late December the hard drive on my iMac failed... kaput! Disk utility couldn't fix it nor could it erase the drive. It had become a paper weight. Thankfully, I had time machine running for selected files/folders on the iMac (but not the whole system), which allowed me to restore to a new computer in a timely fashion. This week I found myself wanting to reference an article on my blog site and realized it wasn't loading (it was only a local blog at this time). No problem, I went to the time machine backup and pulled the code for the site. Then I went to connect the code to the database and I realized that the databases had not been backed up! Fuck! Three years worth of blog posts down the drain!
I got to thinking, maybe I could try connecting to the drive with terminal on the old iMac. So I booted into the recovery mode partition and opened the terminal application from the Utilities menu. Then I ran the following command:
Recovering my hard drive with terminal
This gave me the list of available hard drives on the computer.
Then I tried to mount the broken hard drive with this command:
diskutil mount /dev/disk0
This returned the following error telling me to use:
So I tried this command:
diskutil mountDisk /dev/disk0
This command mounted the broken hard disk. So, I browsed to the MAMP Pro database location with:
cd /Volumes/Macintosh\ HD/Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql
Sure enough the database I was in need of was available. So, I put in a thumb drive and mounted it (same method as #1 and #2 above). Then I saved the entire 'mysql' directory to the thumb drive with this command:
tar -zcvf /Volumes/Thumb\ Drive/mamp-databases.tar.gz ./mysql
Ten minutes later the thumb drive contained a backup of the databases from the broken computer.
Next I restored the databases into my new iMac's MAMP. Instructions for how I did this will follow soon.
Before giving up on your data, try connecting with the command line. It just might save your (digital) life someday.