Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Não Conecta com BD

Galera, eu estou fazendo juntamente com o vídeo e o meu programa não conecta com o banco acusa o seguinte erro:

"SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES) (SQL: select * from desc_produtos)"

este é o código da classe ProdutoController

<?php namespace estoque\Http\Controllers;

use Illuminate\Support\Facades\DB;

class ProdutoController extends Controller {

public function Lista (){ $produtos = DB::select('select * from desc_produtos'); dd($produtos); return ; } }

========================================================

este é p código do database.php

'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'estoque_laravel'), 'username' => env('DB_USERNAME', 'r'), 'password' => env('DB_PASSWORD', '1'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null,

],

O usuário e senha estão corretos.

Alguém pode dar uma força ai? abraço desde já.

7 respostas

O nome do teu banco é homestead ?

A mensagem indica que a conexão com o banco homestead falhou: "Access denied for user 'homestead'@'localhost'"

Você precisa indicar corretamente o nome do teu banco no arquivo de configuração: config\database.php.

No exemplo o instrutor usa como nome do banco estoque_laravel: create database estoque_laravel;

Olá Gabriel, tudo bem? então meu amigo, o nome de usuário e nome do banco estão alterados segue: 'database' => env('DB_DATABASE', 'estoque_laravel'), 'username' => env('DB_USERNAME', 'r').

Mesmo assim o erro persiste.

Você alterou no arquivo database.php e também no arquivo .env ?

O usuário é 'r' mesmo e a senha é '1' ?

'username' => env('DB_USERNAME', 'r'),
'password' => env('DB_PASSWORD', '1'),

Sim meu amigo, inclusive apaguei tas as linhas do .env mesmo assim ele ta pegamdo o usuário errado... Uso a versão 5,6 do laravel

Tente manter o arquivo .env com as configurações corretas e faça um novo teste. Pela mensagem de erro ele está pegando o usuário 'homesteade' do arquivo .env .

solução!

Na minha configuração está assim e funciona.

Se o .env não estiver configurado, o LARAVEL atribui o valor do segundo parâmetro.

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],

Amigo, Gabriel, obrigado pela ajuda, mas acabei fazendo uma pesqueisa e tive 2 problemas encontrados em minha app:

1- KEY, minha app não sei por qual motivo estava sem a KEY nos arquivos .env gerei uma nova tilizando o comando php artisan generate:key

2- CACHE, logo com o problema acima desencadeou a desatualização em meu cache, assim atualizei o mesmo utilizando a linha de comando php artisan config:cache

Logo após, resolvido, conexão efetuada com sucesso.