| MySQL Login Via PHP - Won't Accept Same Login As phpMyAdmin
|
JTeagle

msg:4494783 | 4:03 pm on Sep 13, 2012 (gmt 0) | I'm pretty much a Mac newbie (and not exactly comfortable with MySQL administration), so be gentle with me. I've got what I believe is a pretty standard installation of MySQL running on my MacBook, and the MySQL database has some tables and users. In and of itself, I know this is working (see below). I have my main machine, which is Windows, and I'm trying to develop PHP by using the Mac as my server. If I run up phpMyAdmin (whose files are located on the Mac) and log in using root and the password I set, it works; I get access and I can administer the databases. If I try and connect in using PHP's mysql_connect (via the client machine's web browser), using the same credentials and either localhost:3306 or 127.0.0.1:3306, it refuses, saying 'Access denied for user 'root'@'localhost' (no, I'm *not* accidentally passing the single quotes in!). Just for the sake of it, I tried the same PHP page directly on the Mac... and it failed in exactly the same way. The same Mac that lets me in with phpMyAdmin! Am I missing something? Any help would be appreciated. More: * phpinfo() reports that mysql.default_socket is set to /tmp/mysql.sock - I can confirm that that file does indeed exist on the Mac and the info panel says everyone has read / write access to it. It also confirms that MySQL support is enabled.
|
JTeagle

msg:4494819 | 5:46 pm on Sep 13, 2012 (gmt 0) | OK, I have figured out what I was missing. I decided not to give up, and went into phpMyAdmin and created a brand new user with password, all privileges. I then used this username / password combo in the PHP, and lo and behold, it worked. So I went back to the Privileges page to see if I could spot a difference... and finally I saw what I should have seen in the first place: none of the other logins required a password. The problem was, I had not seen this before and phpMyAdmin doesn't allow a login without a password. Not only did it accept the password I had apparently set, but it also *required* it. I'm guessing that password was purely for phpMyAdmin's benefit, and it only passed the username you used on to MySQL. A little bit irritating to have that discrepancy between phpMyAdmin's login and what was required for MySQL, but that will teach me not to look at the users I had set up. Hopefully my gaffe will help someone else who is falling into the same trap - ignore the password phpMyAdmin uses and check the Privileges page yourself!
|
travelin cat

msg:4494839 | 6:29 pm on Sep 13, 2012 (gmt 0) | JTeagle, Welcome to WebmasterWorld and thanks for coming back with the solution.
|
JTeagle

msg:4494840 | 6:31 pm on Sep 13, 2012 (gmt 0) | Thanks for the welcome.
|
|
|