Подтвердить что ты не робот

Laravel: SQLSTATE [28000] [1045] Доступ запрещен для пользователя 'homestead' @'localhost'

Я только что установил laravel и произвел миграцию. Но когда я пытаюсь запустить его, я получаю эту ошибку:

[PDOException]                                                               
  SQLSTATE[28000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)  

Может кто-нибудь сказать мне, что не так? Я думаю, что файл Database.php выглядит иначе, чем обычно. Это что-то новое в новом Laravel?

Конфигурация моей базы данных:

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'LaraBlog'),
            'username'  => env('DB_USERNAME', 'root'),
            'password'  => env('DB_PASSWORD', 'root'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

Надеюсь, кто-нибудь может мне помочь :)

4b9b3361

Ответ 1

Я понял это:) Пришлось случайно получить файл .env:)

Есть ли какие-либо изменения в схемах?

Не следует ли работать:

public function up()
{
    // Create table with columns
    Schema::create('users', function($table) {
        $table->increments('id');
        $table->string('username');
        $table->string(Hash::make('password'));
        $table->string('firstname');
        $table->string('lastname');
        $table->string('email')
        $table->string('role');
        $table->timestamps();
    }); 

}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    // Insert table to database
    Schema::drop('users');
}

Ответ 2

Я попытался внести изменения в файл database.php, присутствующий в папке config, он выглядит примерно так.

'default' => 'mysql',
....
...
'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'sample'),
            'username'  => env('DB_USERNAME', 'root'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

Я не использую какую-либо виртуальную машину, я использую свой локальный компьютер, а пользователь базы данных - root и пароль - null.

Я также изменил файл .env, и он выглядит примерно так:

APP_ENV=local
APP_DEBUG=true
APP_KEY=zLzPMzs5W4FNNuguTmbG8M0iFqhIVnsP

DB_HOST=localhost
DB_DATABASE=sample
DB_USERNAME=root
DB_PASSWORD=null

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

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

Даже после выполнения всех изменений, когда я пытаюсь зарегистрироваться с помощью формы регистрации, поставляемой с laravel, я пытаюсь добавить пользователя в мою базу данных. Я получаю следующую ошибку.

ошибка подключения к базе данных laravel

После выполнения всех изменений я очистил кеш и снова загрузил его, и теперь он работает для меня сейчас! если какой-либо из них также сталкивается с одной и той же проблемой, просто запустите следующие команды

php artisan cache:clear
php artisan config:cache

Ответ 3

Вносить изменения в файл database.php в ** config > local > database.php а не изменять файл config > database.php.

надеюсь, что это сработает;)

Ответ 4

Практически, когда вы используете сервер localhost, например xampp, вы создаете базу данных вручную "homestead", такие ошибки связаны с отсутствием аргументов базы данных. 100% процентов тестируют его и видят

нажмите на свой cmd и введите:

create database homestead;  

Ответ 5

Попробуйте проверить файл ".env" в корневом каталоге. Эти значения берутся первыми. Ваши значения - это только значения по умолчанию, если в файле .env нет данных.

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=Your_Database_Name
DB_USERNAME=Your_UserName
DB_PASSWORD=Your_Password

Ответ 6

я получил ту же проблему после создания проекта Laravel. Команда аутентификации выполнена успешно.

 php artisan make:auth

Но когда я пытаюсь зарегистрироваться или войти, я получаю ту же ошибку. Я запускаю следующую команду

    php artisan config:clear

затем остановил приложение laravel, а также мой сервер. после перезапуска моего приложения и сервера laravel все было в порядке.

Ответ 7

Перепробовал все решения здесь, но у меня нет работы

Это сработало с первой попытки:

Если вы используете веб-сервер PHP по умолчанию (например, php artisan serve), вам необходимо перезагрузить сервер после изменения .env файла .env.

Я нашел это решение отсюда laravel.io (Прочитайте решение Byjml)