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

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

Poderiam me ajudar????

Está dando o erro: SQLSTATE[HY000] [2002] No such file or directory, mas no meu workbench existe a tabela e o dado está ok

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeo userController onde dá o erro na chamada do bd.

<?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;

class UserController extends Controller {
    public function index() {

        $users = User::get();
        dd($users);

        return view('users.index');
    }

    public function show(){
        dd('user.show', $id);
    }
}
13 respostas

não tem alguém da ALura q possa sanar esse problema?? não tem alguém da ALura q possa sanar esse problema?? não tem alguém da ALura q possa sanar esse problema?? não tem alguém da ALura q possa sanar esse problema??

Olá, Herlon. Tudo bem?

Primeiramente gostaria de pedir desculpas pela demora em responder o seu tópico.

Olhando o seu código parece que está tudo ok, parece ser algum problema com sua conexão com o banco de dados.

Você pode verificar se no arquivo .env o DB_HOST está da seguinte maneira: 127.0.0.1?

Se tiver localhost altere para 127.0.0.1.

Verifica também se as demais variáveis de ambiente do arquivo .env estão corretas de acordo com o seu MySQL.

Se o erro persistir você poderia disponibilizar todo o código do seu projeto para eu realizar alguns testes aqui?

Fico no aguardo do seu retorno :)

https://github.com/hnhostins/projeto_1

já alterei tanto para localhost como pra o IP sugerido, mas lendo outros foruns, como o abaixo, vi q seria um erro do endereço do soket. já pus diversos caminhos, mas não sei qual seria.

https://stackoverflow-com.translate.goog/questions/6259424/troubleshooting-no-such-file-or-directory-when-running-php-app-console-doctri/9251924?_x_tr_sl=en&_x_tr_tl=pt&_x_tr_hl=pt-BR&_x_tr_pto=wapp#9251924

no php.ini coloquei na variável o caminho pdo_mysql.default_socket=/tmp/mysqld.sock ou /var/lib/mysql/mysql.sock ou /var/run/mysql/mysql.sock

eu tinha um mysql e o workbench instalado e desinstalei os dois por achar q podia ser conflito de portas, mas o erro permaneceu.

instalei o dbeaver e deu o erro abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade tbm coloquei a imagem do phpadmin Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi Herlon!

Parece ser problema para conectar no seu banco de dados mesmo. No DBeaver você está tentando acessar o seu MySQL com usuário hnhostins, foi esse usuário que você cadastrou quando instalou o MySQL? Geralmente vem com usuário root e senha root

Rodrigo, é problema com conexão, .... e isso deve ser ou alguma variável de ambiente, algum ajuste no php.ini, ou como citei no endereço do mysqld.sock, peguei um tutorial para criar um projeto do zero pelo sail no ubuntu e o copiei a pasta do projeto (ambiente linux) para o windows e rodou bonito, sem problemas....

todo meu projeto está no link do git, então os dados estão corretos.

o que quero descobrir é como sanar esse tipo de problema... pois da forma que o curso apresenta não mostra que algum ajuste.

A princípio não é problema de configuração do MySQL ou php instalado.

Primeiramente, tenta acessar o seu MySQL via DBeaver. Você conseguiu?

Não. São as imagens que mandei antes da sua resposta.

Pois é, eu estou achando que o problema é o usuário/senha que está errado e não problemas de configurações.

A sugestão que dou é para você desinstalar e instalar novamente o MySQL, pois por padrão ele vai vir com usuário root e senha root

Como falei, já fiz isso e não deu certo.

Você usa linux, certo?

Abre o terminal e tenta logar no mysql com o comando:

mysql -u root -proot

Se não der, tenta com usuário root e sem senha:

mysql -u root

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Não uso linux, uso o windows, o q citei foi q gerei um projeto no ubuntu e depois migrei os arquivos para o windows com SAIL e nesse deu certo, por isso estou falando que o problema é "alguma variável de ambiente, algum ajuste no php.ini, ou como citei no endereço do mysqld.sock"

Essa sua dica eu tbm já tentei... não é problema de permissão do usuário, se fosse o erro é bem nisso, mas não é o caso.

Quando dá o erro de usuário é esse: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)

Entendi. Então deve ser alguma configuração mesmo, mas nos cursos não foi feito dessa forma, com Docker/SAIL, então esse problema não ocorre.

solução!

Eu sei q não foi feito, mas foi o q deu certo, pq não existe necessidade de configurações externas como na variável de ambiente e outras....

Por isso o sail é melhor, pq se pensarmos em conteinizar algo, não há necessidade de ajustes pontuais fora do conteiner.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software