"SQLSTATE[HY000] [2002] No such file or directory" error when migrating table in Laravel
Solution 1
try 127.0.0.1
instead of localhost
in your .env
file. It works for me :)
Solution 2
Add mysql.sock path in database.php file like below example
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
Eample
'mysql' => [
'driver' => 'mysql',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '8889'),
PDOException SQLSTATE[HY000] [2002] No such file or directory
Solution 3
Change localhost
as your DATABASE_HOST
in the .env
file, change it to 127.0.0.1
, and after that run php artisan config:clear
and then run php artisan migrate:install
again.
Or if your problem is not solved, use these changes in your .env files:
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
Then in Database.php add folder location:
'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),
Finally, try:
php artisan config:clear
php artisan migrate:install
Related videos on Youtube
Ken
Updated on July 13, 2022Comments
-
Ken almost 2 years
I am getting the following error when I try to migrate a table in Laravel 5 using the "php artisan migrate" command:
'SQLSTATE[HY000] [2002] No such file or directory' in . . . /vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:47
My .env file includes the default settings as follows:
DB_HOST=localhost DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
My database.php file lists mysql as the default database connection, homestead is listed as the database in my homestead.yaml file, and homestead is one of the tables listed when I access mysql and use the
show databases;
command.Any thoughts about what I might be doing wrong?
-
Daniel Wood about 9 yearsI just had this issue and it was because I in the wrong terminal window. I was trying to run the command on my local machine rather than the vagrant box.
-