Laravel 5 ошибка SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'homestead' @'localhost' (с использованием пароля: YES)

Я установил Laravel 5 успешно и изменил учетные данные MySQL в файле database.php в каталоге конфигурации, чтобы   

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

Я не хочу использовать homestead, и я изменил файл .env на

APP_ENV=local
APP_DEBUG=true
APP_KEY=apLIzEMOgtc5BUxdT9WRLSvAoIIWO87N

DB_HOST=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=

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

Я не понимаю, почему он сказал, что доступ запрещен для 'homestead' @'localhost'

Ответ 1

Теперь он работает. Мне пришлось перезапустить сервер. Благодаря

Ответ 2

Вам нужно запустить эти две команды

php artisan cache:clear
php artisan config:cache

Ответ 3

Ни один из них не работал у меня, когда я размещал свой веб-сайт в Интернете на общем хостинге, ниже - то, что я сделал, что сработало.

В файле .env я изменил

DB_HOST=127.0.0.1

to

DB_HOST=localhost

и альта, он работал хорошо, как ожидалось.

Ответ 4

если вы до этого используете localhost и root ваш файл будет кэширован

удалить /bootstap/cache/config.php

Ответ 5

Я столкнулся с той же проблемой. Все было хорошо но в

самозагрузки/кэш/config.php

всегда был неполный пароль. Покопавшись дальше, понял, что в пароле есть символ "#", и это сбрасывается. Как "#" используется, чтобы отметить строку как комментарий.

Ответ 6

Это работает для меня:

php artisan config:clear
php artisan cache:clear
php artisan config:cache

Благодарю.

Ответ 7

Вам не нужно устанавливать учетные данные в файле database.php. Достаточно, если у вас есть учетные данные в .env

Если вы можете напрямую войти в базу данных, этот пароль должен работать. Возможно, у вас есть другая среда, чем "локальная", которая определена в этом файле. Тест выполняется с помощью "php artisan env"

Ответ 8

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

 DB_HOST=localhost
 DB_DATABASE=homestead
 DB_USERNAME=homestead
 DB_PASSWORD=secret

Ответ 9

Пожалуйста, обновите файл ниже.

поставщик -.env - в строке # 7

 DB_HOST=localhost
 DB_DATABASE=homestead
 DB_USERNAME=homestead
 DB_PASSWORD=secret

Вместо того, чтобы усадить пользователя, укажите свою базу данных, имя пользователя и пароль. Это должно сработать для вас.

Ответ 10

Я столкнулся с той же проблемой, что я сделал

  1. PHP кеш ремесленника: очистить
  2. Конфигурация php artisan: кеш

но обнаружена та же проблема, что и у меня

php artisan view: очистить

Надеюсь, это будет полезно.

Ответ 11

Файл с обновлением Pls.env

 DB_HOST=localhost
 DB_DATABASE=homestead
 DB_USERNAME=homestead
 DB_PASSWORD=secret

После этого перезапустите сервер

Ответ 12

Вместо того, чтобы использовать эту

DB_HOST=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=

Использовать этот

DB_HOST=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=''

Ответ 13

Я придумал это тоже... потом решить, помещая информацию в базе данных непосредственно в "database.php" В вашем случае, я хотел бы изменить информацию, как это

mysql' => [
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'wdcollect',
        'username'  => 'root',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

и не забудьте изменить настройки в config.inc XAMPP

['auth_type'] = 'config';
['Servers'][$i]['user'] = 'root';
['Servers'][$i]['password'] = '';
['AllowNoPassword'] = true;

Ответ 14

Сопоставьте файл .env и файл config.php с вашим именем пользователя и паролем и вашим именем хоста в настройках базы данных. Если они не равны, связь не будет установлена.

Ответ 15

Если вы находитесь на MAMP

Проверьте свой номер порта, как правило, это

Хост localhost

Порт 8889

Пользователь root

Пароль root

Сокет /Applications/MAMP/tmp/mysql/mysql.sock

Ответ 16

Файл .env должен иметь то же имя базы данных, имя пользователя и пароль, что и в базе данных mysql, и проверить, предоставлены ли все разрешения пользователю для доступа к базе данных или нет. Я решил свою проблему, добавив имя пользователя cpanel перед именем базы данных и именем пользователя, таким как jumbo_admingo и jumbo_user1 соответственно, где jumbo - это мое имя пользователя cpanel, а admingo - имя базы данных, которое я создал в mysql, а user1 - пользователь, которому предоставлен доступ к База данных Admingo. ЭТО РЕШАЛО МОЮ ПРОБЛЕМУ.