This doesn't sound like a Perl problem. Can you access your mySQL database with any of its own tools? I'm pretty confident it's a problem with permissions in the mySQL database, which has not a thing to do with the Perl scripts you're trying to access it with.
Makeshifts last the longest.