Problème de connexion à la base de donnée

Par Shadows, il y a 9 ans


Bonjour,

Je souhaite vraiment me mettre à un framework PHP et j'ai choisit de commencer sérieusement avec Laravel. Je rencontre néanmoins un soucis. Lors de la migration d'une table que j'ai crée, je contre l'erreur suivante sur mon terminal :

[PDOException] SQLSTATE[HY000] [2002] Connection refused

Donc mon premier réflexe a été de bien vérifier les valeurs de connexion à la DB mais elles ont l'air d'être bonnes.

'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'laravel'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', 'root'), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ],

Donc si vous auriez des idées ? ><

Merci !

10 réponses

Shadows, il y a 9 ans

Hello. Alors j'ai pas de commande reconnu pour MySQL sur mon terminal. D'ailleurs je ne comprends pas trop pourquoi. Je suis sur OSX pour info et mon .bash_profile a cette ligne :

export PATH=/Applications/MAMP/Library/bin:$PATH

Azorgh, il y a 9 ans

Salut @Shadows,

Les identifiants de connexion se trouve dans le .env de ton projet (à la racine).
Le fichier que tu as montré permet de mettre des valeurs par défaut si il ne les trouve pas dans le .env.

Vérifie ces valeurs et tiens nous au courant ;)

Shadows, il y a 9 ans

Salut,

D'accord, je me base sur le tuto de Grafikart d'une plus vielle version de Laravel du coup je me suis fait avoir. Néanmoins, j'ai modifié le .env :

DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=root

Et toujours le même soucis. Pareil en mettant 127.0.0.1 à la place de localhost.

betaWeb, il y a 9 ans

Essaye d'éditer le pass de MySQL.
Tu as essayé en remplacant ton pass actuel par rien dans la config ?

Shadows, il y a 9 ans

Alors il se passe un truc bizarre. Quand j'ai

DB_PASSWORD=

j'ai ceci quand je fais un migrate :

[PDOException] SQLSTATE[HY000] [2002] No such file or directory

et quand je mets

DB_PASSWORD=root

j'ai

[PDOException] SQLSTATE[HY000] [2002] Connection refused
Azorgh, il y a 9 ans

Tu developpe sous une machine virtuelle ou un Wamp ?

Shadows, il y a 9 ans

Sous MAMP avec le port 3306.

Spiker, il y a 9 ans

Hello,

Dans ton fichier de config (le tableau mysql) rajoute:

'unix_socket' => getenv('UNIX_SOCKET'),

et dans ton .env:

UNIX_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock

et ça devrait marcher ;)

Shadows, il y a 9 ans

Merci Spiker ! Effectivement la migration a fonctionné. Du coup, c'est quoi cette histoire de socket ?