Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsGeneralPHPASPPerlColdFusionFlashHTML, CSS, ScriptsBrowsers

Webmaster Forum / PHP / Database Access / September 2008



Tip: Looking for answers? Try searching our database.

Problems getting PHP and MySQL to play nice

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
bodhiSoma - 26 Sep 2008 19:50 GMT
Hi all.  Can't seem to get PHP to play nice with MySQL.

First I logged into MySQL, created the db, switched to it and then
granted (what I thought were) correct privileges:

----[%begin%]----

Macintosh-7:~ jason$ /usr/local/mysql/bin/mysql -u root

mysql> create database wes;
Query OK, 1 row affected (0.00 sec)

mysql> use wes
Database changed

mysql> grant all privileges on wes.* to user@localhost identified by
'changeme'
   -> ;
Query OK, 0 rows affected (0.08 sec)

----[%end%]----

I then created a bit of PHP to test this...

----[%begin%]----

<?php

$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'changeme';

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error
connecting to mysql');

?>

----[%end%]----

But when I access that PHP page, I get:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to
local MySQL server through socket '/var/mysql/mysql.sock' (2) in /
Library/WebServer/Documents/wes/mysql_test.php on line 7
Error connecting to mysql

Any thoughts on what I'm doing wrong?  I have checked to make sure
Apache and PHP are running.  I can access scripts through localhost
just fine, the problem is only with MySQL.

Thanks much in advance,
Jason
J.O. Aho - 26 Sep 2008 19:57 GMT
> But when I access that PHP page, I get:
>
> Warning: mysql_connect() [function.mysql-connect]: Can't connect to
> local MySQL server through socket '/var/mysql/mysql.sock' (2) in /
> Library/WebServer/Documents/wes/mysql_test.php on line 7
> Error connecting to mysql

This is a quite common error when the mysql daemon isn't running, check that
it's still running and the socket file is created in /var/mysql direcotry.

Signature

  //Aho

bodhiSoma - 26 Sep 2008 20:12 GMT
> This is a quite common error when the mysql daemon isn't running, check that
> it's still running and the socket file is created in /var/mysql direcotry.
>
> --
>
>    //Aho

Hm.

Well, I check OS X's System Preferences and for the MySQL prefs it
says:

"The MySQL Database Server is started and ready for client
connections.  ...  The MySQL Server Instance is running."

I also tried two other variables for $dbhost ("localhost:3306" and ":/
usr/local/mysql/bin/mysql.sock").  Neither worked.

Any idea why it would be acting like it's not running when it is?  =/

Again, thanks,
Jason
bodhiSoma - 26 Sep 2008 20:17 GMT
> This is a quite common error when the mysql daemon isn't running, check that
> it's still running and the socket file is created in /var/mysql direcotry.
>
> --
>
>    //Aho

Oh, forgot to mention that there isn't a /var/mysql directory.  I'm
running OS X if that helps.

Jason
bodhiSoma - 26 Sep 2008 20:30 GMT
> This is a quite common error when the mysql daemon isn't running, check that
> it's still running and the socket file is created in /var/mysql direcotry.
>
> --
>
>    //Aho

Figured it out through a rather bovine method.

Stopped the process then tried to connect by accident and got:

  Macintosh-7:/usr/local/mysql/bin jason$ /usr/local/mysql/bin/mysql -
u root
  ERROR 2002 (HY000): Can't connect to local MySQL server through
socket '/tmp/mysql.sock' (2)

Well, there's my socket.  Changed the PHP to reflect this with:

  $dbhost = ':/tmp/mysql.sock';

...and voila, connected.

Thanks!!!,
Jason
Kenoli - 29 Sep 2008 17:23 GMT
> > This is a quite common error when the mysql daemon isn't running, check that
> > it's still running and the socket file is created in /var/mysql direcotry.
[quoted text clipped - 20 lines]
> Thanks!!!,
> Jason

Glad you solved this.  I got stuck on the same issue and figured it
out after a bunch of stress and have noticed posts on other lists
where people have had the same problem.  Another way to deal with this
is to create the directory php is looking for and put a symbolic link
there to the socket file.

--Kenoli
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2010 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.