Конфигурация MySQL: ошибка доступа запрещена (1045)

0

У меня проблема с mysql на виртуальной машине Hyper-V, на которой я использую Ubuntu. Некоторые, возможно, соответствующие спецификации для того, что Im работает с:

PHP 7.2.3-1+ubuntu16.04.1+deb.sury.org+1 (cli) 
mysql  Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using  EditLine wrapper
Psy Shell v0.8.18 (PHP 7.2.3-1+ubuntu16.04.1+deb.sury.org+1 — cli)

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

php artisan migrate

Я получаю следующую ошибку:

In Connection.php line 664:

  SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas  
  sword: YES) (SQL: select * from information_schema.tables where table_schem  
  a = mytestproject and table_name = migrations)                                     

In PDOConnection.php line 50:

  SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas  
  sword: YES)                                                                  

In PDOConnection.php line 46:

  SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas  
  sword: YES)  

Ive попытался настроить мои файлы database.php,.env следующим образом:

.env файл:

APP_ENV=local
APP_DEBUG=true
APP_KEY=
APP_TIMEZONE=UTC

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=mytestproject
DB_USERNAME=root
DB_PASSWORD=password

REDIS_HOST=127.0.0.1
REDIS_PORT=6379

CACHE_DRIVER=redis
QUEUE_DRIVER=redis

Файл database.php:

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', 'localhost'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'mytestproject'),
    'username' => env('DB_USERNAME', 'root'),
    'password' => env('DB_PASSWORD', 'mypassword'),
    'unix_socket' => env('DB_SOCKET', ' '),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
],

Пользователи Mysql:

mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
4 rows in set (0.06 sec)

Исходя из моего поиска этой ошибки, я увидел множество решений, указывающих, что файл.env и файл database.php необходимо правильно настроить, и я попытался. Я попытался установить права пользователя root, изменив localhost на 127.0.0.1 и т.д. Я попробовал все, с чем сталкивался Ive, предлагаемый на разных досках объявлений, но я пришел к выводу, что может быть что-то особенное в моей настройке или что-то еще, что я еще должен проверить на адрес эту ошибку и перейдите к моей настройке. Любая помощь будет оценена по достоинству.

  • 0
    Вы можете подключиться к БД с помощью клиента MySQL?
  • 0
    и вы уверены, что ваш файл .env загружен? env не функция php (может быть, вы используете CakePHP?)
Показать ещё 3 комментария
Теги:
hyper-v

1 ответ

0
Лучший ответ

Вы показали:

В файле.env:

DB_PASSWORD=password

И в database.php:

'password' => env('DB_PASSWORD', 'mypassword'),

Итак, где правильный пароль?

  • 0
    в файле database.php он должен быть пустым вместо «пароля» или «паролем», как в файле .env? Фактический пароль - «мой пароль».
  • 0
    @ A144 я не знаю, как настроена ваша среда, но в любом случае это должен быть «пароль» в обоих файлах, если это правильный пароль
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню