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

Я не знаю, что случилось, но у меня возникла эта ошибка, и я не знаю, как ее решить. Я попытался добавить нового пользователя в mysql 'user @ localhost', но это не помогло.

вот мой .env:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=amarrakech
DB_USERNAME=user
DB_PASSWORD=

Может ли кто-нибудь помочь мне, мне нужно решить эту проблему как можно быстрее, и извините, если я не смог предоставить много информации, просто скажите, и я все предоставлю.

Если вы добавляете нового пользователя, вы должны предоставить ему доступ к базе данных и установить привилегии. Обычно ваш локальный mySQL имеет пользователя «root» с полным доступом. Обратите внимание, что вам необходимо очистить кеш конфигурации при изменении файла .env.

Gert B. 30.03.2021 12:53
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
35
2

Ответы 2

проверьте свой файл config \ database.php или, если вы запускаете свой проект локально, тогда в основном имя пользователя - root, попробуйте DB_USERNAME = root

Я фактически запускаю свой проект локально, и изменение имени пользователя на root не помогло

monaim matlaya 30.03.2021 12:52

@monaimmatlaya вы очистили кеш конфигурации? Конфигурация php artisan: кеш

Gert B. 30.03.2021 12:54

@GertB. да, я только что очистил кеш с помощью clear: cache

monaim matlaya 30.03.2021 12:55

запустите php artisan config: cache точно так же, как предложил Герт Б., после того, как вы измените db_user на root

Psycho 30.03.2021 12:59

@GertB. Большое спасибо, все, что мне нужно было сделать, это запустить config: cache, чтобы решить эту проблему

monaim matlaya 30.03.2021 13:01

Вы можете использовать другие команды, такие как cache: clear php artisan cache: забудьте, php artisan cache: таблица, Конфигурация php artisan: кеш, Событие php artisan: кеш, php artisan route: кеш, Просмотр php artisan: кеш. В случае, если в будущем, если вы считаете, что вам нужно удалить кеш, вы можете использовать любую из этих команд

Shailendra 30.03.2021 13:05

@monaimmatlaya пожалуйста. Laravel имеет много типов кешей, вы можете очистить их все с помощью php artisan optimize: clear, но я предпочитаю просто очистить тот, в который я внес изменения: config: cache, когда я меняю файлы конфигурации, route: cache, когда я меняю маршруты , ...

Gert B. 30.03.2021 13:34

Спасибо. Я не знал об этом и использую все команды очистки кеша, когда я хочу очистить кеш php artisan optimize: очистить, эта команда действительно полезна

Shailendra 30.03.2021 13:39

При добавлении нового пользователя в MySQL вы должны разрешить ему использовать базу данных с:

GRANT ALL PRIVILEGES ON yourdatabase.* TO 'user'@'localhost';
FLUSH PRIVILEGES

Вы также должны использовать пароль для пользователя любой

ALTER USER 'user'@'localhost' IDENTIFIED BY 'New-Password-Here';

Как правило, при создании пользователя вы можете указать пароль в операторе GRANT:

GRANT ALL PRIVILEGES ON yourdatabase.* TO 'user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Другие вопросы по теме