Warning: mysqli_connect(): (HY000/2002): No such file or directory
I'm trying to install vanilla forums on my Mac, and for this I just created a database and a user from the MySQL command line:
mysql> CREATE DATABASE vanilla;
Query OK, 1 row affected (0.00 sec)
mysql> create user 'vanilla_user3'@'localhost' IDENTIFIED BY 'vanilla_password';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON * . * TO 'vanilla_user3'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
So I try to connect using the following code:
$con=mysqli_connect("localhost","vanilla_user3","vanilla_password","vanilla");
if (mysqli_connect_errno($con)) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
but unfortunately, I get an error saying
Warning: mysqli_connect(): (HY000/2002): No such file or directory in /Users/kramer65/Sites/vanilla/info.php on line 3 Failed to connect to MySQL: No such file or directory
Any idea where I'm going wrong?
Alright, I just found the solution. The problem turned out to be that the host shouldn't have been localhost
, but 127.0.0.1
. I always thought localhost
and 127.0.0.1
was the same, but it turned out to be different.
So maybe as a tip for future users, always use the ip when in doubt.
I had the same problem but the issue was something related to php.ini
file.
I had to edit these two lines in /etc/php.ini
(or wherever your php.ini
is located):
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
Restart apache server to make sure the changes are reflected.
sudo apachectl restart