Dando erro no comando 'php artisan migrate'
Fala pessoal, como vão?
Meu primeiro post aqui com uma dúvida que pesquisei e não foi encontrado. Se foi, me perdoa e coloa o link para tirar a minha dúvida.
Estou criando um projeto de encurtador de link pelo PHP. Já tentei de diversas maneiras e não consegui. O sistema que crio é via Linux pelo VS Code. Abaixo vou mostrar o erro que acontece.
lucianogr@lucianogr-Inspiron-15-3520:~/Projects/shortlink/shortlink$ php artisan migrate Route::get('/', function () { return view('welcome'); });
Route::post('/shorten', [App\Http\Controllers\ShortLinkController::class, 'store'])->name('shorten'); Route::get('{shortCode}', [App\Http\Controllers\ShortLinkController::class, 'show'])->name('shortlink.show');
Illuminate\Database\QueryException
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = shortlinkdb and table_name = migrations and table_type = 'BASE TABLE')
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:712 708▕ // If an exception occurs when attempting to run a query, we'll format the error 709▕ // message to include the bindings with SQL, which will make this exception a 710▕ // lot more helpful to the developer instead of just the database's errors. 711▕ catch (Exception $e) { ➜ 712▕ throw new QueryException( 713▕ $query, $this->prepareBindings($bindings), $e 714▕ ); 715▕ } 716▕ }
+33 vendor frames
34 artisan:37 Illuminate\Foundation\Console\Kernel::handle()
Algumas coisas já foram feitas, porém o erro persiste: Arquivo .env: Credenciais e nome do banco de dados estão corretos. Arquivo config/database.php: Configurações revisadas para assegurar que estão correspondendo ao .env. MySQL: Verificado que o servidor está rodando corretamente e aceitando conexões com o script de teste. Privilégios: Confirmamos que o usuário root tem todos os privilégios necessários.
Estou me acostumando pelo Linux e em inglês que é bem diferente do Windows, onde utilizo há mais de 20 anos.
E o PHP que é o meu primeiro projeto que faço e quero criar outros pela linguagem.
Quem pode me ajudar, por favor?
Se precisar de mais informações, pode comentar abaixo.
Obrigado.
Mano, erro de conexao com o banco de dados, esta dizendo é com a senha ou o usuario errados, bem alto explicativo o erro Access denied for user 'root'@'localhost' (using password: YES)
Laravel é um pouco chato de subir para deploy até pegar o jeito certo, recomendo que utilize a biblioteca Lamp do Teddysun que automatiza todo processo de subir apache e mysql sem erros https://github.com/teddysun/lamp
Pode ser 2 coisas: 1 - Usuario e senha errados no .env 2 - Você não rodou o comando php artisan migrate
Meu caro, isso é problema de conexão com o banco. Para testar, ao invés de usar o MySQL, use o SQLite. No seu .env, você deve alterar a variável DB_CONNECTION para sqlite e comentar as outras. Ficaria assim:
DB_CONNECTION=sqlite
#DB_HOST=127.0.0.1
#DB_PORT=3306
#DB_DATABASE=sua_base
#DB_USERNAME=root
#DB_PASSWORD=admin
Após isso, rode o php artisan optimize:clear
para pegar as configurações novas, e rode o php artisan migrate:fresh
.
O próprio Laravel vai criar o banco no caminho (seu projeto)/database/database.sqlite.
Se funcionar é porque o problema está, provavelmente, na senha do seu root mysql. Nesse caso, você pode tentar entrar pelo terminal na ferramenta do mysql: m̀ysql -u root -p