E-mail: geistlinger AT gmail.com
Replication (in this case, with MySQL)
Yes, I have long understood the whole concept of replication. I've worked with replicated, clustered, fault-tolerant DBs for years.
It's just that I never really had a hand in actually setting up/maintaining any DB other than a single, stand-alone instance until now.
Yesterday, in a (for the most part) completely painless process, I configured replication from the MySQL instance on my main Linux box (master) to a MySQL instance on my main Windows box (I use SQL Server for my Windows apps, for the most part).
I was inspired when I read - on his blog - that Jeremy Zawodny's MySQL book has been released.
Zawondy is a MySQL guru who works for Yahoo!, and he has much knowledge about the subject (and a good sense of humor - he's worth reading for non-tech matters, as well).
One chapter of the book was available on the O'Reilly site (the publishers), the chapter on replication. (Note: Link to download page; chapter is a PDF file.)
So I downloaded it and thought, what the hell, let's set up replication here!
And - as mentioned above - it was rather trivial to set up. For all I bitch and moan about MySQL (legitimately, I think), it still has a lot going for it. And I use it more every day.
One thing JZ's tutorial left out was the issue of how to set up replication with Windows - the examples were all Linux-centric (which is fine, as MySQL is primarily a *NIX product).
However, since I rarely use the Windows MySQL, I had to dig around to find things. Such as the base configuration file.
On Linux: /ect/my.cnf
On Windows: c:/winnt/my.ini (may differ with different installations; but the file is "my.ini")
Once I found that file, I made the changes, restarted servers and ... damn... it just worked.
I'm sure I did some things stupidly, but that's part of the learning curve - when something breaks, you figure out why and that's how you get better.
But - so far - nothing's broken. Excellent.
Perl DBI
I've just never gotten around to messing with this (I bought a book about it over two years ago...), simply because I've primarily done Web programming, and the scripting languages - ASP, ColdFusion, JSP, PHP - have been more than adequate for most tasks.
Now that I'm working more on learning back-end tools - CRON, parsing, data loads, shell scripts and so on - it seemed to make sense to (begin to) learn the Perl DBI so I could run simple Perl scripts to do a whole bunch of stuff that would be more convoluted with Web scripting languages.
So I wrote my first Perl script that uses the DBI - a CRON job that runs each night and updates a given database/table in my MySQL database server.
It's a trivial example, but something that mimics a file I had written in PHP and does the same in less lines.
That's good!