web-dev-qa-db-fra.com

Laravel Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: OUI) dans laravel 4.2

J'ai un ancien projet construit en utilisant Laravel 4.2. Je reçois l'erreur suivante

PDOException (1045) SQLSTATE [HY000] [1045] Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: OUI)

J'ai googlé et essayé chaque réflexion mais je ne pouvais pas y remédier

. fichier env

APP_KEY=az9tq5VHQCV9g5m2CsgY89jtijrCMgEA
DB_Host=localhost
DB_DATABASE=billing
DB_USERNAME=root
DB_PASSWORD=1234

database.php

'mysql' => array(
            'driver'    => 'mysql',
            'Host'      => 'localhost',
            'database'  => 'billing',
            'username'  => 'root',
            'password'  => '1234',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),

enter image description here

Quelqu'un peut-il me guider là où je fais mal?

Remarque: Avant de poser la question, j'ai essayé de mettre à jour composer update ainsi que la plupart des réponses stackoverflow.

Mise à jour

J'ai testé cette connexion en créant un fichier php

<?php
$servername = "localhost";
$username = "root";
$password = "1234";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
?>

je vais me connecter avec succès

6
iCoders

Laravel 4.x ne prend même pas en charge les fichiers ENV. Il suffit de voir si les paramètres dans ./config/[env name] /database.php sont corrects.

1
Magna Centipede

L'erreur dit tout, Laravel ne peut pas se connecter à une base de données. Vérifiez privileledges et assurez-vous que la base de données existe. Aussi, essayez de vous connecter à une base de données avec le client, comme MySQL Workbench en utilisant les mêmes identifiant et mot de passe. Cela vous donnera une idée de ce que vous pouvez faire pour résoudre ce problème. Si vous ne pouvez pas le faire, ce n'est pas Laravel issue.

4
Alexey Mezenin

Essaye ça

fichier .env

APP_ENV=local

DB_CONNECTION=mysql
DB_Host=localhost
DB_DATABASE=billing
DB_USERNAME=root
DB_PASSWORD=1234

config/database.php

default' => env('DB_CONNECTION', 'mysql'),


'mysql' => array(
            'driver'    => 'mysql',
            'Host'      => env('DB_Host','localhost'),
            'database'  => env('DB_DATABASE','billing'),
            'username'  => env('DB_USERNAME','root'),
            'password'  => env('DB_PASSWORD', '1234'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        )

Sinon, extrayez le fichier .env et vérifiez la connexion

2
Parithiban

DB_Host=localhost a fonctionné pour moi sur Laravel 5.7

2
emotality

Je viens de rencontrer le même problème sur une nouvelle installation Laravel. Le problème était que je me connectais à mon serveur mysql localhost ubuntu au lieu du serveur mysql de la boîte vagabonde qui était sur sa propre adresse IP "192.168.10.10". Je suis passé à cela et tout a fonctionné un charme :)

2
Francois Stander

Essayez .ENV

APP_ENV=local
DB_CONNECTION=mysql
DB_Host=localhost
DB_DATABASE=billing
DB_USERNAME=root
DB_PASSWORD=1234 

Et Supprimer les fichiers de cache de Root/bootstrap/cache/files et exécuter L'application

1
Naeem Ijaz

Je teste en Laravel 5.6.33 et je vois cette erreur: "Accès refusé à l'utilisateur 'root' @ 'localhost'", mais le nom d'utilisateur et le mot de passe sont correct. Dans cette version, je pense que c'est un BUG, ​​je change DB_Host, de 127.0.0.1 en localhost et ça marche!

DB_Host = 127.0.0.1 (avant)
DB_Host = localhost (après)

1
Carlos Vieira

J'ai résolu le problème. Problème avec le préfixe. Dans Postgrey Sql, nous avons des préfixes dans la base de données, nous devons donc ajouter également le préfixe en connexion afin que cela puisse aider quelqu'un

database.php

'mysql' => array(
            'driver'    => 'mysql',
            'Host'      => 'localhost',
            'database'  => 'billing',
            'username'  => 'root',
            'password'  => '1234',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => 'bill',
        ),
0
iCoders

Assurez-vous que votre .env utilise le bon numéro de port. Si vous utilisez phpMyAdmin, voici comment procéder:

MariaDB defaults to 3306

et

MySQL defaults to 3308

Alors changez votre .env pour utiliser le port 3308 pour MySQL. J'espère que ça aide!

0
Jacman

Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: OUI)

L'erreur venait? La raison possible est votre connexion à la base de données.Si la base de données n'est pas connectée, lancez l'erreur.

Vérifiez donc la base de données releted toutes les choses et si toutes les choses sont correctes.

Si non résolu, changez

DB_Host=127.0.0.1 TO DB_Host=localhost
0
Kaushik shrimali

Laravel 6 vient de mettre le secret au lieu de l'espace vide.

DB_PASSWORD=secret
0
Dpetrov

J'ai rencontré le même problème en apprenant laravel utilisant Homestead, le problème s'est produit lorsque j'essaie d'ouvrir une page. Il a essayé de se connecter à la base de données mais a été rejeté, bien que je puisse me connecter à la base de données en utilisant mysql ligne de commande. Le problème était que je supposais à tort que depuis la demande de serveur Web Homestead de l'invité à l'hôte, la même chose est également la même avec myqsl, mais apparemment ce n'est pas le cas. Homestead a son propre service mysql, donc mon problème a été résolu par : - Homestead ssh dans la machine invitée - mysql -u root -p pour se connecter à la ligne de commande mysql, le mot de passe par défaut est "secret" - créez la base de données, mais vous avez besoin pour changer votre mot de passe d'abord, changez simplement le même mot de passe que dans le mot de passe root de mysql dans votre machine hôte pour plus de commodité - quittez le mysql cli et - php artisan migrate pour créer les tables - rafraîchissez votre navigateur, maintenant il devrait pouvoir se connecter à votre base de données

0
Ari R. Fikri