Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

12
respostas

Conexão com banco de dados

Consegui inserir o banco e dados, coloco as credencias de acesso ao banco normalmente, mas, aparentemente, não consigo conectar minha aplicação a ele. aparece esse erro:

PDOException in Connector.php line 55: SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

será que esse problema se da pela falta de conexão com o banco?

12 respostas

existe o usuário homesteadno seu banco de dados? não é falta de conexão é acesso negado, isso pode ocorrer pelo fato de não existir o usuário cadastrado.

eu troquei tanto no .env quanto no database.php , não tem mais homestead em nenhum desses

coloca o usuário root e a senha do usuário que você escolheu, você deve olhar as configurações do seu database, o erro ainda continua o mesmo? ou agora é outro erro?

entre no seu banco de dados com o seguinte comando;

mysql -uroot

se der certo isso é um bom sinal, depois digite o seguinte comando.

select User,Host,Password from mysql.user;

ele listará todos os usuários criados no bando de dados mysql, você deve usar um deles para logar no banco, ele também listará o Host(endereço ex. 127.0.0.1 ou localhost) e a senha, sendo que a senha estará criptografada, mas caso esteja em branco quer dizer que vc criou o usuário sem senha, e ai vc deve deixar o campo senha em branco nas configurações do laravel tbm

Oi Roberto

Pode nos mostrar como estão os seus arquivos de database e .env?

Oi, pessoal! Eu estou exatamente com o mesmo problema. No Mysql, o usuário é root e está sem senha. Fiz o select que o Ramires orientou e confirmei os dados. Meus arquivos estão da seguinte forma:

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

.env:
APP_ENV=local
APP_KEY=base64:hs167MzQSRA3CpaxlSIQ9VJTVHCKJVa+qdqQVUqQDlI=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=estoque_laravel
DB_USERNAME=root
DB_PASSWORD=null

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

Eu tive o mesmo problema, daí eu criei um usuário homestead e deu certo.

Eu fechei o cmd do server alterei os dados do .env e restartei o servidor.

Liliane, no seu caso ele também fala que espera o user homestead?

Deixa forge no database que é o padrão e só altera no env.

Oi, Rodrigo. A mensagem que aparecia pra mim era a mesma que o Roberto citou. Porém, hoje, antes de fazer qualquer alteração, eu executei o programa de novo pra testar e não deu erro nenhum. Os produtos foram listados exatamente como deveria.

Oi Liliane. Que boa notícia! Talvez tenha sido algum cache das configurações do framework.