How to recover data from a corrupted ext3 partition?

view story

http://serverfault.com – A server of mine had a drive failure of some sort which caused the OS (CentOS 5) to crash and stop working (it refuses to boot). So we put another drive with a working OS and from there we try to mount the partitions in the old drive. Most partitions mount fine except for one: the /var partition, where my MySQL tables reside. When I try to mount that one, I see these errors with dmesg: sd 0:0:1:0: Unhandled sense code sd 0:0:1:0: SCSI error: return code = 0x08100002 Result: hostbyte=invalid driverbyte=DRIVER_SENSE,SUGGEST_OK sdb: Current: sense key: Medium Error Add. Sen (HowTos)