Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Accessing MySQL DB through DBI

by GaijinPunch (Pilgrim)
on Jan 06, 2005 at 02:20 UTC ( #419796=perlquestion: print w/replies, xml ) Need Help??
GaijinPunch has asked for the wisdom of the Perl Monks concerning the following question:

I'm sure this is a MySQL problem, but I'm trying to use the DBI module to access a MySQL DB. The only other time I've done this is on a web DB provided by my provider. Anyways, I'm getting the following when trying to access it.
connect('database=router:host=localhost','root',...) failed: Access de +nied for user: 'root@localhost' (Using password: YES)

And yeah -- the password is set right. What am I missing? This is how I'm connecting
my $dbh = DBI->connect("DBI:mysql:database=dbname:host=localhost","roo +t","password", {'RaiseError' => 1 });

Replies are listed 'Best First'.
Re: Accessing MySQL DB through DBI
by johnnywang (Priest) on Jan 06, 2005 at 02:38 UTC
    my $dbh = DBI->connect("DBI:mysql:dbname","roo t","password", {'RaiseError' => 1 });
    If that still doesn't work, make sure you set up the user correctly in MySQL to allow local access. Log into Mysql and do "select * from user" in the mysql datqabase to see the row corresponding to "root" has "localhost" in the "host" column.
Re: Accessing MySQL DB through DBI
by William G. Davis (Friar) on Jan 06, 2005 at 02:48 UTC
Re: Accessing MySQL DB through DBI
by cchampion (Curate) on Jan 06, 2005 at 09:15 UTC

    Can you connect using a normal MySQL client? Did you actually try right before your attempt at a Perl connection? (If you have root access, perhaps you also have shell access to that server).

    Anyway, if you can connect from the command line and not from a script, it could be that you are using a socket that isn't standard, and from the command line it is found thanks to a configuration file or an environment variable, while in the Perl script it is not seen at all.

    That was just speculation. Now. If you really have root access, try creating a normal user, and connect to your server using an IP address (instead of localhost) and that user. Try it from the command line first.
    This should either solve your problem or give you more information t about asking for more help.

    In addition to what others have offered you in their answers, you may look at Before asking a database related question ..., where you'll find some useful advice.

      Thanks for the reply everyone. It is, for some weird reason, a MySQL problem. The root password is not what I set it to... or, I set it to something by mistake. Even though I was logged in as root at one point, I can't anymore. Very frustrating. :( So, I'll have to sort out this problem before continuing w/ the Perl side.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://419796]
Approved by johnnywang
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (6)
As of 2018-04-27 03:54 GMT
Find Nodes?
    Voting Booth?