So, I had to replace my hard disk a while back.
This requires reinstalling all the various and sundry software I use that doesn't come standard with the thing. Because I'm lazy^H^H^H^Hefficient, I've been doing a lot of this on an as-needed basis. After all, if I don't ever need something, why bother having it installed?
So recently I got around to installing MySQL and reloading my databases from the backup dump. Should be simple, right?
Well, actually, the install was easy. So was the restore.
I then spent a considerable amount of time persuading it to let me authenticate from the command line. I eventually beat it into submission, but I'm not entirely sure how.
Today, I downloaded and installed the Perl modules that let me speak to MySQL from a script.
That went smoothly enough, except that the compile of DBD::mysql wants to run a bunch of tests as the mysql root, and wants there to be no password for this. (Why doesn't it ask for the password? Because that would make sense.)
No problem. Unset the password, run the build, and set it again.
And lo, we have the same problems.
However, the normal user accounts were working, and the process of stopping and starting the server was getting annoying, so I decided to muddle by for now, and rant about it on LJ.
Then, while writing this rant, I had an inspiration - I'd set the password from the command line, and it contains some shell metacharacters, so some backslashes had been inserted.
Try the password with some backslashes, and lo, I'm in.
So why is this still an "I hate software" post, rather than an "I'm dumb" post?
jl8e$ echo "!"
-bash: !: event not found
jl8e$ echo "\!"
(Yes, it works right in single quotes, but that's indescribably stupid behavior.)